Index: /trunk/BNC/src/ephemeris.cpp
===================================================================
--- /trunk/BNC/src/ephemeris.cpp	(revision 8926)
+++ /trunk/BNC/src/ephemeris.cpp	(revision 8927)
@@ -295,5 +295,4 @@
       }
     }
-
     else if ( iLine == 7 ) {
       if ( readDbl(line, pos[0], fieldLen, _TOT) ) {
@@ -301,10 +300,14 @@
         return;
       }
-      // Rinex 3.04: fitInterval is specified as time period for GPS,
-      //             as flag for QZSS and not valid for IRNSS
-      double fitIntervalRnx;
-      readDbl(line, pos[1], fieldLen, fitIntervalRnx);
-      if (type() == t_eph::QZSS) {
-        _fitInterval = fitIntervalFromFlag(fitIntervalRnx, _IODC, t_eph::QZSS);
+      // fitInterval is not valid for IRNSS
+      if (type() != t_eph::IRNSS) {
+        // Rinex 3.04:
+        double fitIntervalRnx;
+        readDbl(line, pos[1], fieldLen, fitIntervalRnx);
+        if        (type() == t_eph::GPS) {  // specified as time period for GPS
+          _fitInterval = fitIntervalRnx;
+        } else if (type() == t_eph::QZSS) { // specified as flag for QZSS
+          _fitInterval = fitIntervalFromFlag(fitIntervalRnx, _IODC, t_eph::QZSS);
+        }
       }
     }
@@ -476,5 +479,6 @@
     tot = 0.0;
   }
-  if (type() == t_eph::IRNSS) {
+  // fitInterval
+  if (type() == t_eph::IRNSS) {           // not valid for IRNSS
     out << QString(fmt)
       .arg(tot,          19, 'e', 12)
@@ -484,8 +488,7 @@
   }
   else {
-    // Rinex 3.04: fitInterval is specified as flag for QZSS
-    //             but as time period for GPS
-    double fitIntervalRnx = _fitInterval; // GPS
-    if (type() == t_eph::QZSS) {
+    // Rinex 3.04:
+    double fitIntervalRnx = _fitInterval; // specified as time period in hours for GPS
+    if (type() == t_eph::QZSS) {          // specified as flag for QZSS
       (_fitInterval == 2.0) ? fitIntervalRnx = 0.0 : fitIntervalRnx = 1.0;
     }
