Index: trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 9771)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 9785)
@@ -1587,6 +1587,5 @@
     eph._prn.set('C', i);
 
-    SKIPBITS(13)
-    /* week */
+    GETBITS(eph._BDTweek, 13)
     GETBITS(i, 4)
     eph._URA = accuracyFromIndex(i, eph.type());
@@ -1595,5 +1594,5 @@
     GETBITS(i, 17)
     i <<= 3;
-    eph._TOC.setBDS(i * 1000);
+    eph._TOC.setBDS(eph._BDTweek, i);
     GETFLOATSIGN(eph._clock_driftrate, 11,  1.0 / (double )(1 << 30) / (double )(1 << 30) / (double )(1 << 6))
     GETFLOATSIGN(eph._clock_drift,     22,  1.0 / (double )(1 << 30) / (double )(1 << 20))
@@ -1618,5 +1617,5 @@
     i <<= 3;
     eph._TOEsec = i;
-    eph._TOE.setBDS(i * 1000);
+    eph._TOE.setBDS(eph._BDTweek, i);
     GETFLOATSIGN(eph._Cic,      18, 1.0 / (double )(1 << 30) / (double )(1 << 1))
     GETFLOATSIGN(eph._OMEGA0,   32, R2R_PI/(double)(1<<30)/(double)(1<<1))
@@ -1637,5 +1636,4 @@
       eph._navType = t_eph::D2;
     }
-
 
     emit newBDSEph(eph);
