Index: trunk/BNC/src/bncutils.cpp
===================================================================
--- trunk/BNC/src/bncutils.cpp	(revision 8672)
+++ trunk/BNC/src/bncutils.cpp	(revision 8673)
@@ -257,5 +257,6 @@
   bncTime currTime(week, sec);
 
-  if (fabs(currTime - obsTime) > maxDt) {
+  if (((currTime - obsTime) < 0.0) ||
+      (fabs(currTime - obsTime) > maxDt)) {
     return true;
   }
Index: trunk/BNC/src/latencychecker.cpp
===================================================================
--- trunk/BNC/src/latencychecker.cpp	(revision 8672)
+++ trunk/BNC/src/latencychecker.cpp	(revision 8673)
@@ -327,4 +327,10 @@
       const t_satObs& obs = it.next();
       bool wrongObservationEpoch = checkForWrongObsEpoch(obs._time);
+      if (wrongObservationEpoch) {
+        emit( newMessage(QString("%1: Wrong observation epoch from %3 ")
+            .arg(_staID.data())
+            .arg(obs._prn.toString().data())
+            .toAscii(), true) );
+      }
       l._newSec = static_cast<int>(nint(obs._time.gpssec()*10));
       if (l._newSec > l._oldSec && !wrongObservationEpoch) {
@@ -357,11 +363,11 @@
               }
             }
-          }
-          l._meanDiff  = l._diffSec / l._numLat;
-          l.init();
+            l._meanDiff  = l._diffSec / l._numLat;
+            l.init();
+          }
         }
         if (l._followSec) {
           l._diffSec += l._newSec - l._oldSec;
-          if (l._meanDiff>0.) {
+          if (l._meanDiff > 0.0) {
             if (l._newSec - l._oldSec > 1.5 * l._meanDiff) {
               l._numGaps += 1;
