Index: trunk/BNC/src/PPP/pppThread.cpp
===================================================================
--- trunk/BNC/src/PPP/pppThread.cpp	(revision 5849)
+++ trunk/BNC/src/PPP/pppThread.cpp	(revision 5850)
@@ -223,5 +223,5 @@
   // Process the oldest epoch
   // ------------------------
-  if (_epoData.size() > 1) {
+  while (_epoData.size() && _epoData.front()->_time < _lastClkCorrTime) {
 
     const vector<t_satObs*>& satObs = _epoData.front()->_satObs;
@@ -324,4 +324,7 @@
         if (cc) {
           clkCorr.push_back(cc);        
+          if (_lastClkCorrTime.undef() || cc->_time > _lastClkCorrTime) {
+            _lastClkCorrTime = cc->_time;
+          }
         }
       }
Index: trunk/BNC/src/PPP/pppThread.h
===================================================================
--- trunk/BNC/src/PPP/pppThread.h	(revision 5849)
+++ trunk/BNC/src/PPP/pppThread.h	(revision 5850)
@@ -47,4 +47,5 @@
   int                    _lastOrbCorrIOD[t_prn::MAXPRN+1];
   double                 _lastClkCorrValue[t_prn::MAXPRN+1];
+  bncTime                _lastClkCorrTime;
 };
 
