Index: trunk/BNC/src/bncpppclient.cpp
===================================================================
--- trunk/BNC/src/bncpppclient.cpp	(revision 5565)
+++ trunk/BNC/src/bncpppclient.cpp	(revision 5566)
@@ -295,4 +295,5 @@
       }
       cc->readLine(line);
+      checkProviderID(cc);
       _corr_tt = cc->tClk;
     }
@@ -527,2 +528,24 @@
   }
 }
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncPPPclient::checkProviderID(const t_corr* corr) {
+
+  bool alreadySet = false;
+  bool different  = false;
+
+  for (unsigned ii = 0; ii < 3; ii++) {
+    if (_providerID.streamID[ii] != -1) {
+      alreadySet = true;
+    }
+    if (_providerID.streamID[ii] != corr->streamID[ii]) {
+      different = true;
+    }
+    _providerID.streamID[ii] = corr->streamID[ii];
+  }
+    
+  if (alreadySet && different) {
+    _providerID.reset = true;
+  }
+}
Index: trunk/BNC/src/bncpppclient.h
===================================================================
--- trunk/BNC/src/bncpppclient.h	(revision 5565)
+++ trunk/BNC/src/bncpppclient.h	(revision 5566)
@@ -153,4 +153,16 @@
   };
 
+  class t_providerID {
+   public:
+    t_providerID() {
+      streamID[0] = -1;
+      streamID[1] = -1;
+      streamID[2] = -1;
+      reset       = false;
+    }
+    int  streamID[3];
+    bool reset;
+  };
+
   t_irc getSatPos(const bncTime& tt, const QString& prn, 
                   ColumnVector& xc, ColumnVector& vv);
@@ -158,4 +170,5 @@
   void processFrontEpoch();
   t_irc cmpToT(t_satData* satData);
+  void checkProviderID(const t_corr* corr);
 
   t_pppOpt*               _opt;
@@ -168,4 +181,5 @@
   bncModel*               _model;
   QMap<QString, slipInfo> _slips;
+  t_providerID            _providerID;
 };
 
