Index: trunk/BNC/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 3001)
+++ trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 3002)
@@ -115,14 +115,15 @@
   }
 
-  // Find the corresponding coDecoder, initialize a new one if necessary
-  // -------------------------------------------------------------------
-  if (!_coDecoders.contains(_staID.toAscii())) {
-    _coDecoders[_staID.toAscii()] = new RTCM3coDecoder(_staID); 
-  }
-  RTCM3coDecoder* coDecoder = _coDecoders[_staID.toAscii()];
-
   // Try to decode Clock and Orbit Corrections
   // -----------------------------------------
   if (_mode == unknown || _mode == corrections) {
+
+    // Find the corresponding coDecoder
+    // --------------------------------
+    if (!_coDecoders.contains(_staID.toAscii())) {
+      _coDecoders[_staID.toAscii()] = new RTCM3coDecoder(_staID); 
+    }
+    RTCM3coDecoder* coDecoder = _coDecoders[_staID.toAscii()];
+
     if ( coDecoder->Decode(buffer, bufLen, errmsg) == success ) {
       decoded = true;
