Index: /trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.cpp	(revision 5865)
+++ /trunk/BNC/src/PPP/pppFilter.cpp	(revision 5866)
@@ -250,8 +250,5 @@
       PP(ii,ii) = 1.0 / (Sl(ii,ii) * Sl(ii,ii));
     }
-    ColumnVector dx;
-    ColumnVector l1 = ll - AA * _xFlt;
-    kalman(AA, l1, PP, _QFlt, dx);
-    _xFlt += dx;
+    kalman(AA, ll, PP, _QFlt, _xFlt);
 
     // Check Residuals
Index: /trunk/BNC/src/bncutils.cpp
===================================================================
--- /trunk/BNC/src/bncutils.cpp	(revision 5865)
+++ /trunk/BNC/src/bncutils.cpp	(revision 5866)
@@ -566,5 +566,5 @@
 //////////////////////////////////////////////////////////////////////////////
 void kalman(const Matrix& AA, const ColumnVector& ll, const DiagonalMatrix& PP, 
-            SymmetricMatrix& QQ, ColumnVector& dx) {
+            SymmetricMatrix& QQ, ColumnVector& xx) {
 
   Tracer tracer("kalman");
@@ -595,5 +595,5 @@
   SymmetricMatrix Hi; Hi << SHi * SHi.t();
 
-  dx = KT.t() * ll;
+  xx += KT.t() * (ll - AA * xx);
   QQ << (SS.t() * SS);
 }
Index: /trunk/BNC/src/bncutils.h
===================================================================
--- /trunk/BNC/src/bncutils.h	(revision 5865)
+++ /trunk/BNC/src/bncutils.h	(revision 5866)
@@ -97,5 +97,5 @@
 
 void         kalman(const Matrix& AA, const ColumnVector& ll, const DiagonalMatrix& PP, 
-                    SymmetricMatrix& QQ, ColumnVector& dx);
+                    SymmetricMatrix& QQ, ColumnVector& xx);
 
 #endif
