Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 11041)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 11051)
@@ -592,4 +592,11 @@
   catch (Exception& exc) {
     LOG << exc.what() << endl;
+    // A failed Kalman update (e.g. non-positive-definite covariance) leaves
+    // the filter state unusable and would be carried into every subsequent
+    // epoch => restart the filter, keeping ephemerides and corrections
+    // ----------------------------------------------------------------------
+    LOG << string(_epoTimeRover) << " pppClient: filter reset after exception" << endl;
+    delete _filter;
+    _filter = new t_pppFilter();
     return finish(failure, 6);
   }
