Index: /trunk/BNC/bncapp.cpp
===================================================================
--- /trunk/BNC/bncapp.cpp	(revision 3538)
+++ /trunk/BNC/bncapp.cpp	(revision 3539)
@@ -247,8 +247,18 @@
   glonassephemeris** ee = &_glonassEph[glonasseph->almanac_number-1];
 
+  int wwOld, towOld, wwNew, towNew;
+  if (*ee != 0) {
+    wwOld  = (*ee)->GPSWeek;
+    towOld = (*ee)->GPSTOW; 
+    updatetime(&wwOld, &towOld, (*ee)->tb*1000, 0);  // Moscow -> GPS
+
+    wwNew  = glonasseph->GPSWeek;
+    towNew = glonasseph->GPSTOW; 
+    updatetime(&wwNew, &towNew, glonasseph->tb*1000, 0); // Moscow -> GPS
+  }
+
   if ( *ee == 0      || 
-       glonasseph->GPSWeek > (*ee)->GPSWeek ||
-         ( glonasseph->GPSWeek == (*ee)->GPSWeek && 
-           glonasseph->GPSTOW > (*ee)->GPSTOW ) ) {
+       wwNew > wwOld ||
+       (wwNew == wwOld && towNew > towOld) ) {
     delete *ee;
     *ee = glonasseph;
