Index: /branches/BNC_2.12/src/bncephuser.cpp
===================================================================
--- /branches/BNC_2.12/src/bncephuser.cpp	(revision 9260)
+++ /branches/BNC_2.12/src/bncephuser.cpp	(revision 9261)
@@ -314,8 +314,7 @@
     }
 
-    if (diff < MAXDIFF && diffC < MAXDIFF) {
+    if (diff < MAXDIFF || diffC < MAXDIFF) {
       if (dt != 0.0) {
-        if (diff < MINDIFF && diffC < MINDIFF &&
-            ephL->checkState() == t_eph::ok) {
+        if (diff < MINDIFF && diffC < MINDIFF && ephL->checkState() == t_eph::ok) {
           // to prevent the same data sets with different TOC values
           eph->setCheckState(t_eph::bad);
Index: /branches/BNC_2.12/src/combination/bnccomb.cpp
===================================================================
--- /branches/BNC_2.12/src/combination/bnccomb.cpp	(revision 9260)
+++ /branches/BNC_2.12/src/combination/bnccomb.cpp	(revision 9261)
@@ -479,4 +479,14 @@
   ColumnVector dV = newVV           - oldVV;
   double       dC = newXC(4)        - oldXC(4);
+
+  // small check
+  // -----------
+  const double MAXDIFF = 1000.0;
+  double diff  = dX.norm_Frobenius();
+  double diffC = dC * t_CST::c ;
+  if (diff  > MAXDIFF ||
+      diffC > MAXDIFF) {
+    return;
+  }
 
   ColumnVector dRAO(3);
