Index: /trunk/BNC/src/bncephuser.cpp
===================================================================
--- /trunk/BNC/src/bncephuser.cpp	(revision 9058)
+++ /trunk/BNC/src/bncephuser.cpp	(revision 9059)
@@ -221,45 +221,38 @@
     QDateTime now = currentDateAndTimeGPS();
     bncTime currentTime(now.toString(Qt::ISODate).toStdString());
-    double dt = currentTime - toc;
+    double dt = fabs(currentTime - toc);
 
     // update interval: 2h, data sets are valid for 4 hours
-    if      ((eph->type() == t_eph::GPS)     &&
-             (dt < -2*3600 || dt > 4*3600)) {
+    if      (eph->type() == t_eph::GPS     && dt > 4*3600) {
       eph->setCheckState(t_eph::outdated);
       return;
     }
     // update interval: 3h, data sets are valid for 4 hours
-    else if ((eph->type() == t_eph::Galileo) &&
-             (dt < -3*3600 || dt > 4*3600)) {
+    else if (eph->type() == t_eph::Galileo && dt > 4*3600) {
       eph->setCheckState(t_eph::outdated);
       return;
     }
     // updated every 30 minutes
-    else if ((eph->type() == t_eph::GLONASS) &&
-             (dt < -1800   || dt > 2*3600)) {
+    else if (eph->type() == t_eph::GLONASS && dt > 2*3600) {
       eph->setCheckState(t_eph::outdated);
       return;
     }
     // orbit parameters are valid for 7200 seconds (minimum)
-    else if ((eph->type() == t_eph::QZSS)    &&
-             (dt < -1*3600 || dt > 3*3600)) {
+    else if (eph->type() == t_eph::QZSS    && dt > 3*3600) {
       eph->setCheckState(t_eph::outdated);
       return;
     }
     // maximum update interval: 300 sec
-    else if ((eph->type() == t_eph::SBAS)    &&
-             (dt < -300    || dt > 1*3600)) {
+    else if (eph->type() == t_eph::SBAS    && dt > 1*3600) {
       eph->setCheckState(t_eph::outdated);
       return;
     }
     // updates 1h (GEO) up to 6 hours non-GEO
-    else if ((eph->type() == t_eph::BDS)     &&
-             (dt < -1*3600 || dt > 6*3600)) {
+    else if (eph->type() == t_eph::BDS     && dt > 6*3600) {
       eph->setCheckState(t_eph::outdated);
       return;
     }
     // update interval: up to 24 hours
-    else if ((eph->type() == t_eph::IRNSS)   &&
-             (dt < -1*3600 || dt > 24*3600)) {
+    else if (eph->type() == t_eph::IRNSS   && dt > 24*3600) {
       eph->setCheckState(t_eph::outdated);
       return;
@@ -314,5 +307,4 @@
     }
 
-
     if (diff < MAXDIFF && diffC < MAXDIFF) {
       if (dt != 0.0) {
