Index: trunk/BNC/src/bnccore.cpp
===================================================================
--- trunk/BNC/src/bnccore.cpp	(revision 5386)
+++ trunk/BNC/src/bnccore.cpp	(revision 5387)
@@ -657,15 +657,15 @@
   // First time, set the _lastCorrDumpTime
   // -------------------------------------
-  if (!_lastCorrDumpTime.valid()) {
-    _lastCorrDumpTime = coTime - 1.0;
+  if (!_lastCorrDumpTime[staID].valid()) {
+    _lastCorrDumpTime[staID] = coTime - 1.0;
   }
 
   // An old correction - throw it away
   // ---------------------------------
-  if (_waitCoTime > 0.0 && coTime <= _lastCorrDumpTime) {
+  if (_waitCoTime > 0.0 && coTime <= _lastCorrDumpTime[staID]) {
     if (!_bncComb) {
       QString line = staID + ": Correction for one sat neglected because overaged by " +
                       QString().sprintf(" %f sec",
-                      _lastCorrDumpTime - coTime + _waitCoTime);
+                      _lastCorrDumpTime[staID] - coTime + _waitCoTime);
       messagePrivate(line.toAscii());
       emit( newMessage(line.toAscii(), true) );
@@ -681,7 +681,7 @@
     dumpCorrs();
   }
-  else if (coTime - _waitCoTime > _lastCorrDumpTime) {
-    dumpCorrs(_lastCorrDumpTime + 1, coTime - _waitCoTime);
-    _lastCorrDumpTime = coTime - _waitCoTime;
+  else if (coTime - _waitCoTime > _lastCorrDumpTime[staID]) {
+    dumpCorrs(_lastCorrDumpTime[staID] + 1, coTime - _waitCoTime);
+    _lastCorrDumpTime[staID] = coTime - _waitCoTime;
   }
 }
Index: trunk/BNC/src/bnccore.h
===================================================================
--- trunk/BNC/src/bnccore.h	(revision 5386)
+++ trunk/BNC/src/bnccore.h	(revision 5387)
@@ -127,5 +127,5 @@
     QList<QTcpSocket*>* _socketsNMEA;
     bncCaster*          _caster;
-    bncTime             _lastCorrDumpTime;
+    QMap<QString, bncTime> _lastCorrDumpTime;
     double              _waitCoTime;
     QMultiMap<bncTime, QString>* _corrs;
