Index: trunk/BNC/RTCM3/RTCM3coDecoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3coDecoder.cpp	(revision 906)
+++ trunk/BNC/RTCM3/RTCM3coDecoder.cpp	(revision 908)
@@ -49,5 +49,4 @@
 RTCM3coDecoder::RTCM3coDecoder(const QString& fileName) 
   : bncZeroDecoder(fileName) {
-  _mmi = 0;
 }
 
@@ -64,23 +63,10 @@
 
   while (true) {
-
-    if (_mmi == 0) {
-      memset(&_co, 0, sizeof(_co));
-    }
+   
+    memset(&_co, 0, sizeof(_co));
 
     int bytesused = 0;
     GCOB_RETURN irc = GetClockOrbitBias(&_co, &_bias, _buffer.data(), 
                                         _buffer.size(), &bytesused);
-
-    // Multiple Message Flag
-    // ---------------------
-    if (irc == GCOBR_MESSAGEFOLLOWS) {
-      _mmi = 1;
-      _buffer = _buffer.substr(bytesused);
-      return success;
-    }
-    else {
-      _mmi = 0;
-    }
 
     // Not enough Data
@@ -93,5 +79,6 @@
     // Message correctly decoded
     // -------------------------
-    else if (irc == GCOBR_OK && bytesused > 0) {
+    else if ( (irc == GCOBR_OK || irc == GCOBR_MESSAGEFOLLOWS) && 
+              bytesused > 0) {
       reopen();
       for(int ii = 0; ii < _co.NumberOfGPSSat; ++ii) {
@@ -106,5 +93,5 @@
           ii < CLOCKORBIT_NUMGPS + _co.NumberOfGLONASSSat; ++ii) {
         QString line;
-        line.sprintf("%d R%d %d %f %f %f %f\n", _co.GPSEpochTime,
+        line.sprintf("%d R%d %d %f %f %f %f\n", _co.GLONASSEpochTime,
                _co.Sat[ii].ID, _co.Sat[ii].IOD, _co.Sat[ii].Clock.DeltaA0,
                _co.Sat[ii].Orbit.DeltaRadial, _co.Sat[ii].Orbit.DeltaAlongTrack,
Index: trunk/BNC/RTCM3/RTCM3coDecoder.h
===================================================================
--- trunk/BNC/RTCM3/RTCM3coDecoder.h	(revision 906)
+++ trunk/BNC/RTCM3/RTCM3coDecoder.h	(revision 908)
@@ -41,5 +41,4 @@
   ClockOrbit  _co;
   Bias        _bias;
-  int         _mmi;
 } ;
 
