Index: trunk/BNS/bns.cpp
===================================================================
--- trunk/BNS/bns.cpp	(revision 1732)
+++ trunk/BNS/bns.cpp	(revision 1733)
@@ -396,11 +396,4 @@
           }
       
-          // Clocks without corrections 
-          // --------------------------
-          if ( _caster.at(ic)->beClocks() ) {
-            xx(4) -= xx(5) / 299792458.0;
-            xx(5) = 0.0;
-          } 
-
           if (ep != 0) {
             struct ClockOrbit::SatData* sd = 0;
@@ -415,5 +408,6 @@
             if (sd) {
               QString outLine;
-              processSatellite(oldEph, ic, _caster.at(ic)->crdTrafo(), ep, 
+              processSatellite(oldEph, ic, _caster.at(ic)->crdTrafo(), 
+                               _caster.at(ic)->beClocks(), ep, 
                                GPSweek, GPSweeks, prn, xx, sd, outLine);
               _caster.at(ic)->printAscii(outLine);
@@ -439,6 +433,7 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-void t_bns::processSatellite(int oldEph, int iCaster, bool trafo, t_eph* ep, 
-                             int GPSweek, double GPSweeks, const QString& prn, 
+void t_bns::processSatellite(int oldEph, int iCaster, bool trafo, 
+                             bool beClocks, t_eph* ep, int GPSweek, 
+                             double GPSweeks, const QString& prn, 
                              const ColumnVector& xx, 
                              struct ClockOrbit::SatData* sd,
@@ -455,10 +450,16 @@
   }
 
-  ColumnVector dx   = xyz - xB.Rows(1,3);
-
-  double       dClk = (xx(4) - xB(4)) * 299792458.0; 
+  ColumnVector dx = xyz - xB.Rows(1,3);
+
   ColumnVector rsw(3);
-
   XYZ_to_RSW(xB.Rows(1,3), vv, dx, rsw);
+
+  double dClk;
+  if (beClocks) {
+    dClk = (xx(4) - xB(4)) * 299792458.0 - xx(5);
+  }
+  else {
+    dClk = (xx(4) - xB(4)) * 299792458.0;
+  }
 
   if (sd) {
@@ -526,5 +527,4 @@
   rMat(3,3) = 1.0;
 
-
   xyz = sc * rMat * xyz + dx;
 }
Index: trunk/BNS/bns.h
===================================================================
--- trunk/BNS/bns.h	(revision 1732)
+++ trunk/BNS/bns.h	(revision 1733)
@@ -60,8 +60,8 @@
   void openCaster();
   void readEpoch();
-  void processSatellite(int oldEph, int iCaster, bool trafo, t_eph* ep, 
-                        int GPSweek, double GPSweeks, const QString& prn, 
-                        const ColumnVector& xx, struct ClockOrbit::SatData* sd,
-                        QString& outLine);
+  void processSatellite(int oldEph, int iCaster, bool trafo, bool beClocks,
+                        t_eph* ep, int GPSweek, double GPSweeks, 
+                        const QString& prn, const ColumnVector& xx, 
+                        struct ClockOrbit::SatData* sd, QString& outLine);
   void crdTrafo(int GPSWeek, ColumnVector& xyz);
 
