Index: /trunk/BNC/combination/bnccomb.cpp
===================================================================
--- /trunk/BNC/combination/bnccomb.cpp	(revision 3460)
+++ /trunk/BNC/combination/bnccomb.cpp	(revision 3461)
@@ -190,8 +190,4 @@
   }
 
-  // Not yet regularized
-  // -------------------
-  _firstReg = false;
-
   // Maximal Residuum
   // ----------------
@@ -374,4 +370,5 @@
   // ----------------------
   bool masterPresent = false;
+  int  numACwithObs  = 0;
   QListIterator<cmbAC*> icAC(_ACs);
   while (icAC.hasNext()) {
@@ -389,4 +386,11 @@
     }
     out << AC->name.toAscii().data() << ": " << AC->numObs << endl;
+    if (AC->numObs > 0) {
+      ++numACwithObs;
+    }
+  }
+
+  if (numACwithObs < 3) {
+    return;
   }
 
@@ -494,6 +498,4 @@
     }
   }
-
-  _firstReg = true;
 
   // Update Parameter Values
@@ -698,5 +700,5 @@
   }
 
-  const int nCon = (_firstReg == false) ? 1 + MAXPRN_GPS : 1;
+  const int nCon = 1 + MAXPRN_GPS;
 
   AA.ReSize(nObs+nCon, nPar);  AA = 0.0;
@@ -728,24 +730,22 @@
   // --------------
   const double Ph = 1.e6;
-  int iCond = 1;
-  PP(nObs+iCond) = Ph;
+  PP(nObs+1) = Ph;
   for (int iPar = 1; iPar <= _params.size(); iPar++) {
     cmbParam* pp = _params[iPar-1];
-    if (pp->type == cmbParam::clkSat &&
-        AA.Column(iPar).maximum_absolute_value() > 0.0) {
-      AA(nObs+iCond, iPar) = 1.0;
-    }
-  }
-
-  if (!_firstReg) {
-    for (int iGps = 1; iGps <= MAXPRN_GPS; iGps++) {
-      ++iCond;
-      QString prn = QString("G%1").arg(iGps, 2, 10, QChar('0'));
-      PP(nObs+1+iGps) = Ph;
-      for (int iPar = 1; iPar <= _params.size(); iPar++) {
-        cmbParam* pp = _params[iPar-1];
-        if (pp->type == cmbParam::offACSat && pp->prn == prn) {
-          AA(nObs+iCond, iPar) = 1.0;
-        }
+    if (AA.Column(iPar).maximum_absolute_value() > 0.0) {
+      if      (pp->type == cmbParam::clkSat) {
+        AA(nObs+1, iPar) = 1.0;
+      }
+    }
+  }
+  int iCond = 1;
+  for (int iGps = 1; iGps <= MAXPRN_GPS; iGps++) {
+    QString prn = QString("G%1").arg(iGps, 2, 10, QChar('0'));
+    ++iCond;
+    PP(nObs+iCond) = Ph;
+    for (int iPar = 1; iPar <= _params.size(); iPar++) {
+      cmbParam* pp = _params[iPar-1];
+      if (pp->type == cmbParam::offACSat && pp->prn == prn) {
+        AA(nObs+iCond, iPar) = 1.0;
       }
     }
Index: /trunk/BNC/combination/bnccomb.h
===================================================================
--- /trunk/BNC/combination/bnccomb.h	(revision 3460)
+++ /trunk/BNC/combination/bnccomb.h	(revision 3461)
@@ -94,5 +94,4 @@
   QString                 _masterOrbitAC;
   unsigned                _masterMissingEpochs;
-  bool                    _firstReg;
 };
 
