Index: /trunk/BNC/src/combination/bnccomb.cpp
===================================================================
--- /trunk/BNC/src/combination/bnccomb.cpp	(revision 10115)
+++ /trunk/BNC/src/combination/bnccomb.cpp	(revision 10116)
@@ -174,4 +174,5 @@
       newAC->name         = hlp[1];
       newAC->weightFactor = hlp[2].toDouble();
+      newAC->isAPC = (newAC->mountPoint.mid(0,4) =="SSRA");
       QMapIterator<char, unsigned> itSys(_cmbSysPrn);
       // init
@@ -179,6 +180,7 @@
         itSys.next();
         char sys = itSys.key();
-        if (_masterOrbitAC.isEmpty()) {
+        if (!_masterOrbitAC.contains(sys)) {
           _masterOrbitAC[sys] = newAC->name;
+          _masterIsAPC[sys]   = newAC->isAPC;
         }
       }
@@ -465,4 +467,5 @@
     // ----------------------
     QString acName;
+    bool isAPC;
     QString staID(newClk->_staID.c_str());
     QListIterator<cmbAC*> icAC(_ACs);
@@ -471,8 +474,9 @@
       if (AC->mountPoint == staID) {
         acName = AC->name;
+        isAPC  = AC->isAPC;
         break;
       }
     }
-    if (acName.isEmpty()) {
+    if (acName.isEmpty() || isAPC != _masterIsAPC[sys]) {
       delete newClk;
       continue;
@@ -482,5 +486,5 @@
     // ----------------------------
     if ((newClk->_time >= currentTime) ||        // future time stamp
-        (currentTime - newClk->_time) > 120.0) {  // very old data sets
+        (currentTime - newClk->_time) > 120.0) { // very old data sets
 #ifdef BNC_DEBUG_CMB
       emit newMessage("bncComb: very old data sets: " + acName.toLatin1() + " " + newClk->_prn.toString().c_str() +
@@ -833,4 +837,5 @@
               << epoTime.timestr().c_str()    << "\n";
           _masterOrbitAC[sys] = AC->name;
+          _masterIsAPC[sys]   = AC->isAPC;
           break;
         }
@@ -1061,11 +1066,33 @@
     // Correction Phase Center --> CoM
     // -------------------------------
+
     ColumnVector dx(3); dx = 0.0;
+    ColumnVector apc(3); apc = 0.0;
+    ColumnVector com(3); com = 0.0;
+    bool masterIsAPC = true;
     if (_antex) {
       double Mjd = epoTime.mjd() + epoTime.daysec()/86400.0;
+      char sys = corr->_eph->prn().system();
+      masterIsAPC = _masterIsAPC[sys];
       if (_antex->satCoMcorrection(corr->_prn, Mjd, xc.Rows(1,3), dx) != success) {
         dx = 0;
         _log += "antenna not found " + corr->_prn.mid(0,3).toLatin1() + '\n';
       }
+    }
+    if (masterIsAPC) {
+      apc(1) = xc(1);
+      apc(2) = xc(2);
+      apc(3) = xc(3);
+      com(1) = xc(1)-dx(1);
+      com(2) = xc(2)-dx(2);
+      com(3) = xc(3)-dx(3);
+    }
+    else {
+      com(1) = xc(1);
+      com(2) = xc(2);
+      com(3) = xc(3);
+      apc(1) = xc(1)+dx(1);
+      apc(2) = xc(2)+dx(2);
+      apc(3) = xc(3)+dx(3);
     }
 
@@ -1076,8 +1103,8 @@
                   " Vel 3 %15.4f %15.4f %15.4f"
                   " CoM 3 %15.4f %15.4f %15.4f",
-                  xc(1), xc(2), xc(3),
+                  apc(1), apc(2), apc(3),
                   xc(4) *  t_CST::c,
                   vv(1), vv(2), vv(3),
-                  xc(1)-dx(1), xc(2)-dx(2), xc(3)-dx(3));
+                  com(1), com(2), com(3));
     outLines += hlp;
     hlp.clear();
Index: /trunk/BNC/src/combination/bnccomb.h
===================================================================
--- /trunk/BNC/src/combination/bnccomb.h	(revision 10115)
+++ /trunk/BNC/src/combination/bnccomb.h	(revision 10116)
@@ -85,4 +85,5 @@
       numObs['S']  = 0;
       numObs['I']  = 0;
+      isAPC = false;
     }
     ~cmbAC() {}
@@ -90,4 +91,5 @@
     QString  name;
     double   weightFactor;
+    bool     isAPC;
     QMap<char, unsigned> numObs;
   };
@@ -256,4 +258,5 @@
   QMap<char, QString>                        _masterOrbitAC;
   QMap<char, unsigned>                       _masterMissingEpochs;
+  QMap<char, bool>                           _masterIsAPC;
   e_method                                   _method;
   int                                        _cmbSampl;
