Index: /trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.cpp	(revision 7301)
+++ /trunk/BNC/src/PPP/pppFilter.cpp	(revision 7302)
@@ -49,4 +49,5 @@
 
   _numSat     = 0;
+  const double maxSolGap = 60.0;
 
   if (!_parlist) {
@@ -66,5 +67,7 @@
   _epoTime = epoch->epoTime();
 
-  if (!_firstEpoTime.valid()) {
+  if (!_firstEpoTime.valid() ||
+      !_lastEpoTimeOK.valid() ||
+      (maxSolGap > 0.0 && _epoTime - _lastEpoTimeOK > maxSolGap)) {
     _firstEpoTime = _epoTime;
   }
@@ -131,5 +134,5 @@
 
   _parlist->printResult(_epoTime, _QFlt, _xFlt);
-
+  _lastEpoTimeOK = _epoTime;  // remember time of last successful epoch processing
   return success;
 }
Index: /trunk/BNC/src/PPP/pppFilter.h
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.h	(revision 7301)
+++ /trunk/BNC/src/PPP/pppFilter.h	(revision 7302)
@@ -69,8 +69,8 @@
   };
 
-  t_irc processSystem(const std::vector<t_lc::type>& LCs, 
+  t_irc processSystem(const std::vector<t_lc::type>& LCs,
                       const std::vector<t_pppSatObs*>& obsVector);
 
-  t_irc detectCycleSlips(const std::vector<t_lc::type>& LCs, 
+  t_irc detectCycleSlips(const std::vector<t_lc::type>& LCs,
                          const std::vector<t_pppSatObs*>& obsVector);
 
@@ -91,4 +91,5 @@
   t_dop           _dop;
   bncTime         _firstEpoTime;
+  bncTime         _lastEpoTimeOK;
 };
 
