Index: trunk/BNC/combination/bnccomb.cpp
===================================================================
--- trunk/BNC/combination/bnccomb.cpp	(revision 3137)
+++ trunk/BNC/combination/bnccomb.cpp	(revision 3138)
@@ -202,4 +202,8 @@
     }
   }
+
+  // Not yet regularized
+  // -------------------
+  _firstReg = false;
 }
 
@@ -600,5 +604,5 @@
     const double Pl = 1.0 / (0.05 * 0.05);
 
-    const int nCon = 2 + MAXPRN_GPS;
+    const int nCon = (_firstReg == false) ? 2 + MAXPRN_GPS : 2;
     Matrix         AA(nObs+nCon, nPar);  AA = 0.0;
     ColumnVector   ll(nObs+nCon);        ll = 0.0;
@@ -653,12 +657,15 @@
     }
 
-    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::Sat_offset && pp->prn == prn) {
-          AA(nObs+iCond, iPar) = 1.0;
+    if (!_firstReg) {
+      _firstReg = true;
+      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::Sat_offset && pp->prn == prn) {
+            AA(nObs+iCond, iPar) = 1.0;
+          }
         }
       }
Index: trunk/BNC/combination/bnccomb.h
===================================================================
--- trunk/BNC/combination/bnccomb.h	(revision 3137)
+++ trunk/BNC/combination/bnccomb.h	(revision 3138)
@@ -83,4 +83,5 @@
   QVector<cmbParam*>    _params;
   SymmetricMatrix       _QQ;
+  bool                  _firstReg;
   QByteArray            _log;
   QString               _masterAC;
