Index: trunk/BNC/bncmodel.cpp
===================================================================
--- trunk/BNC/bncmodel.cpp	(revision 3408)
+++ trunk/BNC/bncmodel.cpp	(revision 3409)
@@ -59,5 +59,5 @@
 const double   MINELE                = 10.0 * M_PI / 180.0;
 const double   MAXRES_CODE           = 10.0;
-const double   MAXRES_PHASE          = 0.02;
+const double   MAXRES_PHASE          = 0.04;
 const double   GLONASS_WEIGHT_FACTOR = 5.0;
 
@@ -1224,6 +1224,5 @@
   // Try with all satellites, then with all minus one, etc.
   // ------------------------------------------------------
-  const unsigned MAX_NEGLECT = 1;
-  for (unsigned nNeglected = 0; nNeglected <= MAX_NEGLECT; nNeglected++) {
+  for (unsigned nNeglected = 0; nNeglected <= allPrns.size() - MINOBS; nNeglected++) {
     usedPrns = allPrns;
 
@@ -1242,4 +1241,5 @@
       // Remove Neglected Satellites from epoData
       // ----------------------------------------
+      unsigned neglectedGPS = 0;
       for (unsigned ip = 0; ip < allPrns.size(); ip++) {
         QString prn = allPrns[ip];
@@ -1247,5 +1247,11 @@
           epoData->satData.remove(prn);
           strNeglected += prn + " ";
-        }
+          if (prn[0] == 'G') {
+            ++neglectedGPS;
+          }
+        }
+      }
+      if (neglectedGPS > 1) {
+        continue;
       }
       if (epoData->sizeSys('G') < MINOBS) {
