Index: /trunk/BNC/src/ephemeris.cpp
===================================================================
--- /trunk/BNC/src/ephemeris.cpp	(revision 6535)
+++ /trunk/BNC/src/ephemeris.cpp	(revision 6536)
@@ -1202,10 +1202,12 @@
 
     else if ( iLine == 3 ) {
+      double iodn;
       if ( readDbl(line, pos[0], fieldLen, _z_pos         )  ||
            readDbl(line, pos[1], fieldLen, _z_velocity    )  ||
            readDbl(line, pos[2], fieldLen, _z_acceleration)  ||
-           readDbl(line, pos[3], fieldLen, _IODN          ) ) {
-        _checkState = bad;
-        return;
+           readDbl(line, pos[3], fieldLen, iodn           ) ) {
+        _checkState = bad;
+        return;
+        _IODN = int(iodn);
       }
     }
@@ -1308,5 +1310,5 @@
     .arg(1.e-3*_z_velocity,     19, 'e', 12)
     .arg(1.e-3*_z_acceleration, 19, 'e', 12)
-    .arg(_IODN,                 19, 'e', 12);
+    .arg(double(_IODN),         19, 'e', 12);
 
   return rnxStr;
Index: /trunk/BNC/src/ephemeris.h
===================================================================
--- /trunk/BNC/src/ephemeris.h	(revision 6535)
+++ /trunk/BNC/src/ephemeris.h	(revision 6536)
@@ -218,5 +218,5 @@
   virtual t_irc position(int GPSweek, double GPSweeks, double* xc, double* vv) const;
 
-  double _IODN;
+  int    _IODN;
   double _TOW;            // not used (set to  0.9999e9)
   double _agf0;           // [s]    clock correction
