Index: trunk/BNC/bncpppclient.cpp
===================================================================
--- trunk/BNC/bncpppclient.cpp	(revision 2295)
+++ trunk/BNC/bncpppclient.cpp	(revision 2296)
@@ -308,5 +308,9 @@
                 messageType == COTYPE_GLONASSCOMBINED ) {
         cc->rao.ReSize(3);
-        in >> cc->iod >> cc->dClk >> cc->rao[0] >> cc->rao[1] >> cc->rao[2];
+        cc->dotRao.ReSize(3); 
+        cc->dotRao = 0.0;
+        double dummyDotClk;
+        in >> cc->iod >> cc->dClk >> cc->rao[0] >> cc->rao[1] >> cc->rao[2]
+           >> dummyDotClk >> cc->dotRao[0] >> cc->dotRao[1] >> cc->dotRao[2];
         cc->dClk /= t_CST::c;
         cc->raoSet  = true;
@@ -316,5 +320,6 @@
                 messageType == COTYPE_GLONASSORBIT ) {
         cc->rao.ReSize(3);
-        in >> cc->iod >> cc->rao[0] >> cc->rao[1] >> cc->rao[2];
+        in >> cc->iod >> cc->rao[0] >> cc->rao[1] >> cc->rao[2]
+           >> cc->dotRao[0] >> cc->dotRao[1] >> cc->dotRao[2];
         cc->raoSet  = true;
       }
@@ -393,5 +398,5 @@
         if (ee->IOD() == cc->iod && (tt - cc->tt) < MAXAGE) {
           corr = true;
-          applyCorr(cc, xc, vv);
+          applyCorr(tt, cc, xc, vv);
           return success;
         }
@@ -408,8 +413,11 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-void bncPPPclient::applyCorr(const t_corr* cc, ColumnVector& xc, 
-                             ColumnVector& vv) {
+void bncPPPclient::applyCorr(const bncTime& tt, const t_corr* cc, 
+                             ColumnVector& xc, ColumnVector& vv) {
   ColumnVector dx(3);
-  RSW_to_XYZ(xc.Rows(1,3), vv, cc->rao, dx);
+
+  ColumnVector raoHlp = cc->rao + cc->dotRao * (tt - cc->tt);
+
+  RSW_to_XYZ(xc.Rows(1,3), vv, raoHlp, dx);
 
   xc[0] -= dx[0];
Index: trunk/BNC/bncpppclient.h
===================================================================
--- trunk/BNC/bncpppclient.h	(revision 2295)
+++ trunk/BNC/bncpppclient.h	(revision 2296)
@@ -92,4 +92,5 @@
   double       dClk;
   ColumnVector rao;
+  ColumnVector dotRao;
   bool         raoSet;
   bool         dClkSet;
@@ -132,5 +133,6 @@
                   ColumnVector& xc, ColumnVector& vv, bool& corr);
   void processEpoch();
-  void applyCorr(const t_corr* cc, ColumnVector& xc, ColumnVector& vv);
+  void applyCorr(const bncTime& tt, const t_corr* cc, ColumnVector& xc, 
+                 ColumnVector& vv);
   t_irc cmpToT(t_satData* satData);
 
