Index: trunk/BNC/bncmodel.cpp
===================================================================
--- trunk/BNC/bncmodel.cpp	(revision 3392)
+++ trunk/BNC/bncmodel.cpp	(revision 3393)
@@ -1229,17 +1229,7 @@
     }
 
-    bool outlierDetected = false;
-
     // Loop over all Combinations of used Satellites
     // ---------------------------------------------
     do {
-
-      if (outlierDetected) {
-        _log += "TRY WITH PRNs: ";
-        for (unsigned ip = 0; ip < usedPrns.size(); ip++) {
-          _log += usedPrns[ip] + ' ';
-        }
-        _log += '\n';
-      }
 
       // Remove Neglected Satellites from epoData
@@ -1274,4 +1264,6 @@
         }
         
+        // Prepare first-design Matrix, vector observed-computed
+        // -----------------------------------------------------
         Matrix          AA(nObs, nPar);  // first design matrix
         ColumnVector    ll(nObs);        // tems observed-computed
@@ -1279,7 +1271,4 @@
         
         unsigned iObs = 0;
-        
-        // GPS
-        // ---
         QMapIterator<QString, t_satData*> it(epoData->satData);
         while (it.hasNext()) {
@@ -1317,23 +1306,21 @@
         // Check the residuals
         // -------------------
-        outlierDetected = outlierDetection(iPhase, vv, epoData->satData); 
-
-        if (outlierDetected) {
+        if ( outlierDetection(iPhase, vv, epoData->satData) ) {
           restoreState(epoData);
           break;
         }
 
+        // Set estimated values
+        // --------------------
+        else if (_usePhase || iPhase == 1) {
+          QVectorIterator<bncParam*> itPar(_params);
+          while (itPar.hasNext()) {
+            bncParam* par = itPar.next();
+            par->xx += dx(par->index);
+          }
+          return success;
+        }
+
       } // for (int iPhase = 0; iPhase <= (_usePhase ? 1 : 0); iPhase++)
-
-      // Update Parameters
-      // -----------------
-      if (!outlierDetected) {
-        QVectorIterator<bncParam*> itPar(_params);
-        while (itPar.hasNext()) {
-          bncParam* par = itPar.next();
-          par->xx += dx(par->index);
-        }
-        return success;
-      }
 
     } while ( next_combination(allPrns.begin(), allPrns.end(),
