Index: trunk/BNC/src/PPP/pppParlist.cpp
===================================================================
--- trunk/BNC/src/PPP/pppParlist.cpp	(revision 10386)
+++ trunk/BNC/src/PPP/pppParlist.cpp	(revision 10387)
@@ -435,11 +435,13 @@
   required.push_back(new t_pppParam(t_pppParam::crdZ, t_prn(), t_lc::dummy));
 
-  // Receiver Clocks
-  // ---------------
+  // Receiver Clock
+  // --------------
   required.push_back(new t_pppParam(t_pppParam::rClk, t_prn(), t_lc::dummy));
 
   // GLONASS Clock Offset
   // --------------------
-  if (OPT->useSystem('R')) {
+  if ((OPT->useSystem('G') && OPT->useSystem('R')) ||
+      (OPT->useSystem('E') && OPT->useSystem('R')) ||
+      (OPT->useSystem('C') && OPT->useSystem('R')) ) {
     required.push_back(new t_pppParam(t_pppParam::offGlo, t_prn(), t_lc::dummy));
   }
@@ -447,5 +449,5 @@
   // Galileo Clock Offset
   // --------------------
-  if (OPT->useSystem('E')) {
+  if (OPT->useSystem('G') && OPT->useSystem('E')) {
     required.push_back(new t_pppParam(t_pppParam::offGal, t_prn(), t_lc::dummy));
   }
@@ -453,5 +455,6 @@
   // BDS Clock Offset
   // ----------------
-  if (OPT->useSystem('C')) {
+  if ((OPT->useSystem('G') && OPT->useSystem('C')) ||
+      (OPT->useSystem('E') && OPT->useSystem('C'))) {
     required.push_back(new t_pppParam(t_pppParam::offBds, t_prn(), t_lc::dummy));
   }
