Index: /trunk/BNC/bncapp.cpp
===================================================================
--- /trunk/BNC/bncapp.cpp	(revision 537)
+++ /trunk/BNC/bncapp.cpp	(revision 538)
@@ -161,5 +161,7 @@
 
   gpsephemeris** ee = &_gpsEph[gpseph->satellite-1];
-  if ( *ee == 0 || (*ee)->IODE != gpseph->IODE ) { 
+  if ( *ee == 0                         || 
+       gpseph->GPSweek > (*ee)->GPSweek ||
+       gpseph->TOW     > (*ee)->TOW     ) {
     delete *ee;
     *ee = gpseph;
@@ -186,6 +188,7 @@
   glonassephemeris** ee = &_glonassEph[glonasseph->almanac_number-1];
 
-  if ( *ee == 0 || (*ee)->GPSWeek != glonasseph->GPSWeek || 
-      (*ee)->GPSTOW != glonasseph->GPSTOW ) { 
+  if ( *ee == 0                             || 
+       glonasseph->GPSWeek > (*ee)->GPSWeek ||
+       glonasseph->GPSTOW  > (*ee)->GPSTOW  ) {
     delete *ee;
     *ee = glonasseph;
