Index: /trunk/BNC/src/PPP/pppInclude.h
===================================================================
--- /trunk/BNC/src/PPP/pppInclude.h	(revision 5848)
+++ /trunk/BNC/src/PPP/pppInclude.h	(revision 5849)
@@ -74,12 +74,4 @@
 class t_orbCorr {
  public:
-  ColumnVector getX(const bncTime& tt) const {
-    ColumnVector xx(3);
-    double dt = tt - _time;
-    xx[0] = _xr[0] + _dotXr[0] * dt;
-    xx[1] = _xr[1] + _dotXr[1] * dt;
-    xx[2] = _xr[2] + _dotXr[2] * dt;
-    return xx;
-  }
   t_prn          prn() const {return _prn;}
   unsigned short IOD() const {return _iod;}
@@ -94,8 +86,4 @@
 class t_clkCorr {
  public:
-  double getClk(const bncTime& tt) const {
-    double dt = tt - _time;
-    return _dClk + dt * _dotDClk + dt * dt * _dotDotDClk;    
-  }
   t_prn          prn() const {return _prn;}
   unsigned short IOD() const {return _iod;}
Index: /trunk/BNC/src/ephemeris.cpp
===================================================================
--- /trunk/BNC/src/ephemeris.cpp	(revision 5848)
+++ /trunk/BNC/src/ephemeris.cpp	(revision 5849)
@@ -65,16 +65,21 @@
   if (useCorr) {
     if (_orbCorr && _clkCorr) {
-      ColumnVector xr = _orbCorr->getX(tt); 
+
+      double dtO = tt - _orbCorr->_time;
       ColumnVector dx(3);
+      dx[0] = _orbCorr->_xr[0] + _orbCorr->_dotXr[0] * dtO;
+      dx[1] = _orbCorr->_xr[1] + _orbCorr->_dotXr[1] * dtO;
+      dx[2] = _orbCorr->_xr[2] + _orbCorr->_dotXr[2] * dtO;
+
       if (_orbCorr->_system == 'R') {
-        RSW_to_XYZ(xc.Rows(1,3), vv.Rows(1,3), xr, dx);
-      }
-      else {
-        dx = xr;
-      }
+        RSW_to_XYZ(xc.Rows(1,3), vv.Rows(1,3), dx, dx);
+      }
+
       xc[0] -= dx[0];
       xc[1] -= dx[1];
       xc[2] -= dx[2];
-      xc[3] += _clkCorr->getClk(tt);
+
+      double dtC = tt - _clkCorr->_time;
+      xc[3] += _clkCorr->_dClk + _clkCorr->_dotDClk * dtC + _clkCorr->_dotDotDClk * dtC * dtC;
     }
     else {
