Index: /trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- /trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 9047)
+++ /trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 9048)
@@ -1631,13 +1631,16 @@
        * else. */
       if ((id >= 1057 && id <= 1068) ||
-    	  (id >= 1240 && id <= 1270) ||
-		  (id == 4076)) {
-        RTCM3coDecoder::e_type type = RTCM3coDecoder::RTCMssr;
+    	    (id >= 1240 && id <= 1270) ||
+		      (id == 4076)) {
+        if (!_coDecoders.contains(_staID.toLatin1())) {
+          _coDecoders[_staID.toLatin1()] = new RTCM3coDecoder(_staID);
+        }
+        RTCM3coDecoder* coDecoder = _coDecoders[_staID.toLatin1()];
         if (id == 4076) {
-          type = RTCM3coDecoder::IGSssr;
+          coDecoder->setSsrFormatType(RTCM3coDecoder::IGSssr);
         }
-        if (!_coDecoders.contains(_staID.toLatin1()))
-          _coDecoders[_staID.toLatin1()] = new RTCM3coDecoder(_staID, type);
-        RTCM3coDecoder* coDecoder = _coDecoders[_staID.toLatin1()];
+        else {
+          coDecoder->setSsrFormatType(RTCM3coDecoder::RTCMssr);
+        }
         if (coDecoder->Decode(reinterpret_cast<char *>(_Message), _BlockSize,
             errmsg) == success) {
Index: /trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp
===================================================================
--- /trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp	(revision 9047)
+++ /trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp	(revision 9048)
@@ -53,5 +53,5 @@
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
-RTCM3coDecoder::RTCM3coDecoder(const QString& staID, const e_type type) {
+RTCM3coDecoder::RTCM3coDecoder(const QString& staID) {
 
   _staID = staID;
@@ -97,5 +97,4 @@
   _providerID[2] = -1;
 
-  _type = type;
   _ssrCorr = 0;
 }
Index: /trunk/BNC/src/RTCM3/RTCM3coDecoder.h
===================================================================
--- /trunk/BNC/src/RTCM3/RTCM3coDecoder.h	(revision 9047)
+++ /trunk/BNC/src/RTCM3/RTCM3coDecoder.h	(revision 9048)
@@ -38,8 +38,9 @@
  public:
   enum e_type {RTCMssr, IGSssr};
-  RTCM3coDecoder(const QString& staID, const e_type type);
+  RTCM3coDecoder(const QString& staID);
   virtual ~RTCM3coDecoder();
   virtual t_irc Decode(char* buffer, int bufLen, std::vector<std::string>& errmsg);
-  virtual int   corrGPSEpochTime() const {return int(_lastTime.gpssec());}
+  virtual int corrGPSEpochTime() const {return int(_lastTime.gpssec());}
+  virtual void setSsrFormatType(const e_type type) {_type = type;}
 
  signals:
