Index: trunk/FACT++/src/EventBuilder.cc
===================================================================
--- trunk/FACT++/src/EventBuilder.cc	(revision 16107)
+++ trunk/FACT++/src/EventBuilder.cc	(revision 16108)
@@ -36,5 +36,5 @@
 void runFinished();
 void factStat(GUI_STAT gj);
-int  eventCheck(const shared_ptr<EVT_CTRL2> &evt);
+bool eventCheck(const shared_ptr<EVT_CTRL2> &evt);
 void debugHead(void *buf);
 
@@ -806,4 +806,6 @@
         if (run->closeRequest&kRequestConnectionChange)
             reason.push_back("connection changed");
+        if (run->closeRequest&kRequestEventCheckFailed)
+            reason.push_back("event check failed");
     }
     if (!cond4)
@@ -828,7 +830,9 @@
             evt->fEvent->BoardTime[ib] = evt->FADhead.get()[ib].time;
 
-        const int rc = eventCheck(evt);
-        if (rc < 0)
+        if (!eventCheck(evt))
+        {
+            evt->runCtrl->closeRequest = kRequestEventCheckFailed;
             return;
+        }
     }
 
Index: trunk/FACT++/src/EventBuilder.h
===================================================================
--- trunk/FACT++/src/EventBuilder.h	(revision 16107)
+++ trunk/FACT++/src/EventBuilder.h	(revision 16108)
@@ -35,5 +35,6 @@
     kRequestManual = 1,
     kRequestTimeout = 2,
-    kRequestConnectionChange = 4
+    kRequestConnectionChange = 4,
+    kRequestEventCheckFailed = 8
 };
 
Index: trunk/FACT++/src/EventBuilderWrapper.h
===================================================================
--- trunk/FACT++/src/EventBuilderWrapper.h	(revision 16107)
+++ trunk/FACT++/src/EventBuilderWrapper.h	(revision 16108)
@@ -609,5 +609,5 @@
     }
 
-    int eventCheck(const shared_ptr<EVT_CTRL2> &evt)
+    bool eventCheck(const shared_ptr<EVT_CTRL2> &evt)
     {
         const PEVNT_HEADER *fadhd = evt->FADhead.get();
@@ -640,6 +640,5 @@
             {
                 fMsg.Error("Inconsistency in FAD status detected.... closing run.");
-                evt->runCtrl->maxEvt = 0;
-                return -1;
+                return false;
             }
 
@@ -647,6 +646,5 @@
             {
                 fMsg.Error("Inconsistent run number detected.... closing run.");
-                evt->runCtrl->maxEvt = 0;
-                return -1;
+                return false;
             }
 
@@ -662,6 +660,5 @@
             {
                 fMsg.Error("Inconsistent FAD event number detected.... closing run.");
-                evt->runCtrl->maxEvt = 0;
-                return -1;
+                return false;
             }
 
@@ -669,6 +666,5 @@
             {
                 fMsg.Error("Inconsistent FTM trigger number detected.... closing run.");
-                evt->runCtrl->maxEvt = 0;
-                return -1;
+                return false;
             }
 
@@ -676,6 +672,5 @@
             {
                 fMsg.Error("Inconsistent phase shift detected.... closing run.");
-                evt->runCtrl->maxEvt = 0;
-                return -1;
+                return false;
             }
 
@@ -683,6 +678,5 @@
             {
                 fMsg.Error("Inconsistent DAC values detected.... closing run.");
-                evt->runCtrl->maxEvt = 0;
-                return -1;
+                return false;
             }
 
@@ -690,6 +684,5 @@
             {
                 fMsg.Error("Inconsistent trigger type detected.... closing run.");
-                evt->runCtrl->maxEvt = 0;
-                return -1;
+                return false;
             }
         }
@@ -700,5 +693,5 @@
         // need gotNewRun/closedRun to know it is finished
 
-        return 0;
+        return true;
     }
 
@@ -1241,5 +1234,5 @@
 }
 
-int eventCheck(const shared_ptr<EVT_CTRL2> &evt)
+bool eventCheck(const shared_ptr<EVT_CTRL2> &evt)
 {
     return EventBuilderWrapper::This->eventCheck(evt);
