Index: branches/BNC_2.12/src/bncephuser.cpp
===================================================================
--- branches/BNC_2.12/src/bncephuser.cpp	(revision 9323)
+++ branches/BNC_2.12/src/bncephuser.cpp	(revision 9325)
@@ -342,11 +342,9 @@
 bool bncEphUser::newCorrectedGpsEphSet(const t_eph* eph) {
 
+  if (eph->prn().system() != 'G') {
+    return false;
+  }
+
   bool correctedGpsEphSet = false;
-  bool newCorrectedGpsEphSet = false;
-
-  if (eph->prn().system() != 'G') {
-    return newCorrectedGpsEphSet;
-  }
-
   if ((fmod(eph->TOC().daysec()+16.0, 7200) == 0.0)) {
     // sometimes corrected BRDC sets are sent with TOC values 16 seconds
@@ -355,20 +353,25 @@
   }
 
-  QString      prn     = QString(eph->prn().toInternalString().c_str());
-  t_eph*       ephL    = ephLast(prn);
-  if (!ephL) { // first set for GPS Sat
-    return correctedGpsEphSet;
-  }
-
-
-  double dt = eph->TOC() - ephL->TOC();
-  if (correctedGpsEphSet){
-    if (dt == 0.0) {
-      newCorrectedGpsEphSet = false;
+  QString  prn  = QString(eph->prn().toInternalString().c_str());
+  t_eph*   ephL = ephLast(prn);
+  if (!ephL) {
+    if (correctedGpsEphSet) { // first set is a corrected set for GPS
+      return true;
     }
     else {
-      newCorrectedGpsEphSet = true;
-    }
-  }
-  return  newCorrectedGpsEphSet;
-}
+      return false;
+    }
+  }
+  else {
+    double dt = eph->TOC() - ephL->TOC();
+    if (correctedGpsEphSet) {
+      if (dt == 0.0) {
+        return false;
+      }
+      else {
+        return true;
+      }
+    }
+  }
+  return false;
+}
