Index: branches/BNC_LM/combination/bnccomb.cpp
===================================================================
--- branches/BNC_LM/combination/bnccomb.cpp	(revision 3570)
+++ branches/BNC_LM/combination/bnccomb.cpp	(revision 3571)
@@ -257,7 +257,8 @@
     delete _params[iPar-1];
   }
-  QVectorIterator<cmbCorr*> itCorr(corrs());
-  while (itCorr.hasNext()) {
-    delete itCorr.next();
+  QListIterator<bncTime> itTime(_buffer.keys());
+  while (itTime.hasNext()) {
+    bncTime epoTime = itTime.next();
+    _buffer.remove(epoTime);
   }
 }
@@ -355,5 +356,5 @@
   while (itCorr.hasNext()) {
     cmbCorr* hlp = itCorr.next();
-    if (hlp->prn == newCorr->prn && hlp->acName == newCorr->prn) {
+    if (hlp->prn == newCorr->prn && hlp->acName == newCorr->acName) {
       existingCorr = hlp;
       break;
@@ -875,4 +876,5 @@
       }
       if (!foundMaster) {
+        delete corr;
         it.remove();
       }
@@ -973,4 +975,5 @@
     if (maxRes > _MAXRES) {
       out << "  Outlier" << endl;
+      delete corrs()[maxResIndex-1];
       corrs().remove(maxResIndex-1);
     }
@@ -1010,8 +1013,10 @@
     if      (_eph.find(prn) == _eph.end()) {
       out << "checkOrbit: missing eph (not found) " << corr->prn << endl;
+      delete corr;
       im.remove();
     }
     else if (corr->eph == 0) {
       out << "checkOrbit: missing eph (zero) " << corr->prn << endl;
+      delete corr;
       im.remove();
     }
@@ -1022,4 +1027,5 @@
       else {
         out << "checkOrbit: missing eph (deleted) " << corr->prn << endl;
+        delete corr;
         im.remove();
       }
@@ -1086,4 +1092,5 @@
       QString  prn  = corr->prn;
       if      (numCorr[prn] < 2) {
+        delete corr;
         im.remove();
       }
@@ -1098,4 +1105,5 @@
               << corr->iod                     << " " 
               << norm                          << endl;
+          delete corr;
           im.remove();
           removed = true;
