Index: branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp
===================================================================
--- branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp	(revision 8579)
+++ branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp	(revision 8582)
@@ -223,5 +223,5 @@
     return;
   }
-  int iEpoBegEarlier = _rtnetStreamBuffer.indexOf('*'); // begin of first epoch 
+  int iEpoBegEarlier = _rtnetStreamBuffer.indexOf('*');
   if (iEpoBegEarlier != -1 && iEpoBegEarlier < iEpoBeg) { // are there more epoch lines in buffer?
     _rtnetStreamBuffer = _rtnetStreamBuffer.mid(iEpoBegEarlier);
@@ -236,5 +236,6 @@
   }
   else {
-    lines = _rtnetStreamBuffer.left(iEpoEnd).split('\n', QString::SkipEmptyParts);
+    lines = _rtnetStreamBuffer.left(iEpoEnd).split('\n',
+        QString::SkipEmptyParts);
     _rtnetStreamBuffer = _rtnetStreamBuffer.mid(iEpoEnd + 3);
   }
@@ -415,5 +416,7 @@
     }
 
-    if (eph) {
+    if (eph  &&
+        eph->checkState() != t_eph::bad &&
+        eph->checkState() != t_eph::unhealthy ) {
       QMap<QString, double> codeBiases;
       QList<phaseBiasSignal> phaseBiasList;
@@ -539,5 +542,7 @@
                                      rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine);
         if (irc != success) {
-          continue;
+          // very few cases: check states bad and unhealthy are excluded earlier
+          sd->ID = prnStr.mid(1).toInt(); // to prevent G00, R00 entries
+          sd->IOD = eph->IOD();
         }
       }
