Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 11094)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 11095)
@@ -59,4 +59,5 @@
   _tides    = new t_tides();
   _antex    = 0;
+  _ssrFormat = ssrUnknown;
   if (!_opt->_antexFileName.empty()) {
     _antex = new bncAntex(_opt->_antexFileName.c_str());
@@ -133,4 +134,5 @@
   }
   for (unsigned ii = 0; ii < corr.size(); ii++) {
+    _ssrFormat = corr[ii]->_ssrFormat;
     _ephPool->putOrbCorrection(new t_orbCorr(*corr[ii]));
   }
Index: trunk/BNC/src/PPP/pppClient.h
===================================================================
--- trunk/BNC/src/PPP/pppClient.h	(revision 11094)
+++ trunk/BNC/src/PPP/pppClient.h	(revision 11095)
@@ -39,4 +39,5 @@
   const t_pppObsPool* obsPool() const {return _obsPool;}
   const bncAntex*     antex() const {return _antex;}
+  e_ssrFormat         ssrFormat() const {return _ssrFormat;}
   const t_pppStation* staRover() const {return _staRover;}
 
@@ -72,4 +73,5 @@
   t_pppStation*             _staRover;
   bncAntex*                 _antex;
+  e_ssrFormat               _ssrFormat;  // of the latest orbit corrections
   t_pppFilter*              _filter;
   std::vector<t_pppSatObs*> _obsRover;
Index: trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.cpp	(revision 11094)
+++ trunk/BNC/src/PPP/pppSatObs.cpp	(revision 11095)
@@ -591,5 +591,10 @@
   // or lacks a frequency the PPP linear combinations need, the satellite is
   // excluded rather than corrected with ANTEX. Without such a reference,
-  // the static ANTEX file is used for both observables.
+  // the static ANTEX file is used for both observables - except for new
+  // RTCM-SSR: there the orbit refers to a provider-defined point along the
+  // nadir axis to which all other corrections refer, and orbits, clocks and
+  // biases (plus the optional satellite antenna model) form a consistent
+  // set. Without PCV/GDV information no satellite antenna correction at all
+  // is applied then (the receiver antenna is corrected as usual).
   if (PPP_CLIENT->antex()) {
     const t_metaData*   metaData   = PPP_CLIENT->obsPool()->metaData();
@@ -602,4 +607,5 @@
     }
     bool useSsr = (refIOD != 0);
+    bool noSatAnt = (!useSsr && PPP_CLIENT->ssrFormat() == ssrRtcmNew);
     if (useSsr && !ssrSatAntennaTrusted(satAntenna, metaData, refIOD, _time)) {
       LOG << "SSR Satellite Antenna IOD " << refIOD << " referenced by Metadata not available for "
@@ -671,5 +677,5 @@
         }
       }
-      else {
+      else if (!noSatAnt) {
         _model._antPCO[ii] += PPP_CLIENT->antex()->satCorr(prn, frqType, _model._elTx, _model._azTx, found, _time);
         if (!found && !PPP_CLIENT->antex()->hasSatEntry(prn, _time) &&
