Index: trunk/BNC/src/RTCM/GPSDecoder.cpp
===================================================================
--- trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 4410)
+++ trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 4411)
@@ -114,20 +114,27 @@
 //////////////////////////////////////////////////////////////////////////////
 int t_obs::iEntry(const QString& rnxStr, float rnxVers, bool nonEmpty) const {
+
   if (rnxVers >= 3.0) {
     return iEntryV3(rnxStr);
   }
 
-  if      (rnxStr == "C1") return iEntryV3("C1C");
-  else if (rnxStr == "P1") return iEntryV3("C1P");
-  else if (rnxStr == "C2") return iEntryV3("C2C");
-  else if (rnxStr == "P2") return iEntryV3("C2P");
-
-  const QString chars = "PWCZI ";
-  for (int ii = 0; ii < chars.length(); ii++) {
-    QString hlpStr = rnxStr + chars[ii];
-    int ie = iEntryV3(hlpStr.trimmed());
-    if (ie != -1 && (!nonEmpty || _measdata[ie] != 0.0)) {
-      return ie;
+  if (satSys == 'G' || satSys == 'R') {
+    if      (rnxStr == "C1") return iEntryV3("C1C");
+    else if (rnxStr == "P1") return iEntryV3("C1P");
+    else if (rnxStr == "C2") return iEntryV3("C2C");
+    else if (rnxStr == "P2") return iEntryV3("C2P");
+    
+    const QString chars = "PWCZI ";
+    for (int ii = 0; ii < chars.length(); ii++) {
+      QString hlpStr = rnxStr + chars[ii];
+      int ie = iEntryV3(hlpStr.trimmed());
+      if (ie != -1 && (!nonEmpty || _measdata[ie] != 0.0)) {
+        return ie;
+      }
     }
+  }
+
+  else {
+    return iEntryV3(rnxStr);
   }
 
