Index: trunk/BNC/combination/bnccomb.cpp
===================================================================
--- trunk/BNC/combination/bnccomb.cpp	(revision 2985)
+++ trunk/BNC/combination/bnccomb.cpp	(revision 2986)
@@ -171,4 +171,22 @@
   }
 
+  // Check the IOD
+  //--------------
+  if (_eph.find(newCorr->prn) == _eph.end()) {
+    delete newCorr;
+    return;
+  }
+  else {
+    t_eph* lastEph = _eph[newCorr->prn]->last;
+    t_eph* prevEph = _eph[newCorr->prn]->prev;
+    if (prevEph && prevEph->IOD() == newCorr->iod) {
+      switchToLastEph(lastEph, prevEph, newCorr);
+    }
+    else if (!lastEph || lastEph->IOD() != newCorr->iod) {
+      delete newCorr;
+      return;
+    }
+  }
+
   // Process all older Epochs (if there are any)
   // -------------------------------------------
@@ -318,4 +336,11 @@
 }
 
+// Change the correction so that it refers to last received ephemeris 
+////////////////////////////////////////////////////////////////////////////
+void bncComb::switchToLastEph(const t_eph* lastEph, const t_eph* prevEph, 
+                              t_corr* newCorr) {
+
+}
+
 // Process Epochs
 ////////////////////////////////////////////////////////////////////////////
@@ -419,3 +444,2 @@
   cout << "Corrections processed" << endl << endl;
 }
-
Index: trunk/BNC/combination/bnccomb.h
===================================================================
--- trunk/BNC/combination/bnccomb.h	(revision 2985)
+++ trunk/BNC/combination/bnccomb.h	(revision 2986)
@@ -74,4 +74,6 @@
   void dumpResults(const bncTime& resTime, 
                    const QMap<QString, t_corr*>& resCorr);
+  void switchToLastEph(const t_eph* lastEph, const t_eph* prevEph, 
+                       t_corr* newCorr);
 
   QMap<QString, cmbAC*> _ACs;   // Analytical Centers (key is mountpoint)
