Index: trunk/BNC/src/rinex/rnxobsfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 6586)
+++ trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 6587)
@@ -1051,8 +1051,7 @@
 
   for (unsigned iSat = 0; iSat < epo->rnxSat.size(); iSat++) {
-    const t_rnxSat& rnxSat = epo->rnxSat[iSat];
-    char            sys    = rnxSat.prn.system();
-
-    *stream << rnxSat.prn.toString().c_str();
+    const t_rnxSat& rnxSat   = epo->rnxSat[iSat];
+    char            sys      = rnxSat.prn.system();
+    bool            sysFound = false;
 
     const t_rnxObs* hlp[header.nTypes(sys)];
@@ -1070,4 +1069,5 @@
         if (typeV3 == type2to3(sys, type) && rnxObs.value != 0.0) {
           hlp[iTypeV3] = &itObs.value();
+          sysFound     = true; 
         }
       }
@@ -1082,7 +1082,14 @@
         if (hlp[iTypeV3] == 0 && typeV3 == type2to3(sys, type).left(2) && rnxObs.value != 0.0) {
           hlp[iTypeV3] = &itObs.value();
-        }
-      }
-    }
+          sysFound     = true; 
+        }
+      }
+    }
+
+    if (!sysFound) {
+      continue;
+    }
+
+    *stream << rnxSat.prn.toString().c_str();
 
     for (int iTypeV3 = 0; iTypeV3 < header.nTypes(sys); iTypeV3++) {
