Index: /trunk/BNC/src/pppRun.cpp
===================================================================
--- /trunk/BNC/src/pppRun.cpp	(revision 10184)
+++ /trunk/BNC/src/pppRun.cpp	(revision 10185)
@@ -278,4 +278,9 @@
   }
 
+  int    currentWeek = 0;
+  double currentSec  = 0.0;
+  currentGPSWeeks(currentWeek, currentSec);
+  bncTime currentTime(currentWeek, currentSec);
+
   // Loop over all observations (possible different epochs)
   // -----------------------------------------------------
@@ -284,4 +289,12 @@
     const t_satObs& oldObs = it.next();
     t_satObs*       newObs = new t_satObs(oldObs);
+
+    // Check regarding current time
+    // ----------------------------
+    if ((newObs->_time >= currentTime) ||        // future time stamp
+        (currentTime - newObs->_time) > 60.0) {  // very old data sets
+      delete newObs;
+      continue;
+    }
 
     // Find the corresponding data epoch or create a new one
@@ -315,5 +328,5 @@
   // Make sure the buffer does not grow beyond any limit
   // ---------------------------------------------------
-  const unsigned MAX_EPODATA_SIZE = 120;
+  const unsigned MAX_EPODATA_SIZE = 65;
   if (_epoData.size() > MAX_EPODATA_SIZE) {
     delete _epoData.front();
@@ -338,5 +351,6 @@
         (_epoData.front()->_time - _lastClkCorrTime) < _opt->_corrWaitTime) {
 
-      if (_opt->_corrWaitTime != 0 && (fabs(_epoData.front()->_time - _lastClkCorrTime) > 60.0)) {
+      if (_opt->_corrWaitTime != 0 &&
+          (fabs(_epoData.front()->_time - _lastClkCorrTime) > 60.0)) {
         delete _epoData.front();
         _epoData.pop_front();
