Index: /trunk/BNC/bncmodel.cpp
===================================================================
--- /trunk/BNC/bncmodel.cpp	(revision 3398)
+++ /trunk/BNC/bncmodel.cpp	(revision 3399)
@@ -1191,10 +1191,6 @@
   Tracer tracer("bncModel::update_p");
 
-  // Bancroft Solution
-  // -----------------
-  if (cmpBancroft(epoData) != success) {
-    return failure;
-  }
-
+  // Save Variance-Covariance Matrix, and Status Vector
+  // --------------------------------------------------
   rememberState(epoData);
 
@@ -1232,4 +1228,10 @@
       }
       if (epoData->sizeSys('G') < MINOBS) {
+        continue;
+      }
+
+      // Bancroft Solution
+      // -----------------
+      if (cmpBancroft(epoData) != success) {
         continue;
       }
@@ -1277,7 +1279,35 @@
         ColumnVector vv = ll - AA * dx;
         
-        // Print Residuals
-        // ---------------
-        if (true) {
+        // Check the residuals
+        // -------------------
+        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);
+          }
+
+          // Print Neglected PRNs
+          // --------------------
+          if (nNeglected > 0) {
+            _log += "Neglected PRNs: ";
+            for (unsigned ip = 0; ip < allPrns.size(); ip++) {
+              QString prn = allPrns[ip];
+              if ( !findInVector(usedPrns, prn) ) {
+                _log += prn + " ";
+              }
+            }
+            _log += '\n';
+          }
+
+          // Print Residuals
+          // ---------------
           ostringstream str;
           str.setf(ios::fixed);
@@ -1292,21 +1322,5 @@
           }
           _log += str.str().c_str();
-        }
         
-        // Check the residuals
-        // -------------------
-        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;
         }
@@ -1315,5 +1329,5 @@
 
     } while ( next_combination(allPrns.begin(), allPrns.end(),
-                                 usedPrns.begin(), usedPrns.end()) );
+                               usedPrns.begin(), usedPrns.end()) );
 
   } // for (unsigned nNeglected
