Index: trunk/BNC/combination/bnccomb.cpp
===================================================================
--- trunk/BNC/combination/bnccomb.cpp	(revision 3434)
+++ trunk/BNC/combination/bnccomb.cpp	(revision 3435)
@@ -241,5 +241,5 @@
   // Delete old corrections
   // ----------------------
-  if (newCorr->tt < _resTime) {
+  if (_resTime.valid() && newCorr->tt < _resTime) {
     delete newCorr;
     return;
@@ -268,18 +268,20 @@
   }
 
-  // Process previous Epoch
-  // ----------------------
-  if (_resTime.valid() && _resTime < newCorr->tt) {
-    processEpoch();
-  }
-
-  // Remember last correction time
-  // -----------------------------
-  _resTime = newCorr->tt;
+  // Process previous Epoch(s)
+  // -------------------------
+  QListIterator<bncTime> itTime(_buffer.keys());
+  while (itTime.hasNext()) {
+    bncTime epoTime = itTime.next();
+    if (epoTime < newCorr->tt) {
+      _resTime = epoTime;
+      processEpoch();
+    }
+  }
 
   // Merge or add the correction
   // ---------------------------
+  QVector<cmbCorr*>& corrs = _buffer[newCorr->tt].corrs;
   cmbCorr* existingCorr = 0;
-  QVectorIterator<cmbCorr*> itCorr(corrs());
+  QVectorIterator<cmbCorr*> itCorr(corrs);
   while (itCorr.hasNext()) {
     cmbCorr* hlp = itCorr.next();
@@ -294,5 +296,5 @@
   }
   else {
-    corrs().append(newCorr);
+    corrs.append(newCorr);
   }
 }
