Index: /trunk/FACT++/src/EventBuilder.c
===================================================================
--- /trunk/FACT++/src/EventBuilder.c	(revision 15355)
+++ /trunk/FACT++/src/EventBuilder.c	(revision 15356)
@@ -1589,26 +1589,61 @@
                   evtCtrl.pcTime[iDx] = g_actTime;
 
-                  if (++mBuffer[evID].nBoard >= actBoards) {
-                     int qnrun = 0;
-                     if (mBuffer[evID].runNum != actrun) {      // have we already reported first event of this run ???
-                        actrun = mBuffer[evID].runNum;
-                        int ir;
-                        for (ir = 0; ir < MAX_RUN; ir++) {
-                           qnrun++;
-                           if (runCtrl[ir].runId == actrun) {
-                              if (++runCtrl[ir].lastEvt == 0) {
-                                 gotNewRun (actrun, mBuffer[evID].FADhead);
-                                 factPrintf(kInfo, 1, "gotNewRun called for run %d, event %d",
-                                            mBuffer[evID].runNum, mBuffer[evID].evNum);
-                                 break;
+                  mBuffer[evID].nBoard++;
+
+                  // have we already reported first (partial) event of this run ???
+                  if (mBuffer[evID].nBoard>0 && mBuffer[evID].runNum != actrun)
+                  {
+                      actrun = mBuffer[evID].runNum;
+
+                      for (int ir = 0; ir < MAX_RUN; ir++)
+                      {
+                          if (runCtrl[ir].runId == actrun)
+                          {
+                              if (++runCtrl[ir].lastEvt == 0)
+                              {
+                                  gotNewRun (actrun, NULL);
+                                  factPrintf(kInfo, 1, "gotNewRun called for run %d, event %d",
+                                             mBuffer[evID].runNum, mBuffer[evID].evNum);
+                                  break;
                               }
-                           }
-                        }
-                     }
-                     //complete event read ---> flag for next processing
-                     evtCtrl.evtStat[iDx] = 99;
-                     gi.evtTot++;
+                          }
+                      }
                   }
 
+                  //complete event read ---> flag for next processing
+                  if (mBuffer[evID].nBoard >= actBoards)
+                  {
+                      evtCtrl.evtStat[iDx] = 99;
+                      gi.evtTot++;
+                  }
+
+
+/*
+                  if (mBuffer[evID].nBoard >= actBoards)
+                  {
+                      // have we already reported first event of this run ???
+                      if (mBuffer[evID].runNum != actrun)
+                      {
+                          actrun = mBuffer[evID].runNum;
+
+                          for (int ir = 0; ir < MAX_RUN; ir++)
+                          {
+                              if (runCtrl[ir].runId == actrun)
+                              {
+                                  if (++runCtrl[ir].lastEvt == 0)
+                                  {
+                                      gotNewRun (actrun, mBuffer[evID].FADhead);
+                                      factPrintf(kInfo, 1, "gotNewRun called for run %d, event %d",
+                                                 mBuffer[evID].runNum, mBuffer[evID].evNum);
+                                      break;
+                                  }
+                              }
+                          }
+                      }
+                      //complete event read ---> flag for next processing
+                      evtCtrl.evtStat[iDx] = 99;
+                      gi.evtTot++;
+                  }
+*/
 //                EndBuf:
                   //rd[i].bufTyp = 0;     //ready to read next header
@@ -2081,5 +2116,5 @@
        for (int k0=evtCtrl.frstPtr; k0!=evtCtrl.lastPtr; k0++, k0 %= MAX_EVT*MAX_RUN)
        {
-           if (!(evtCtrl.evtStat[k0] > 90 && evtCtrl.evtStat[k0] < 1000))
+           if (evtCtrl.evtStat[k0] <= 90 || evtCtrl.evtStat[k0] >= 1000)
            {
                if (evtCtrl.evtStat[k0] >= 0 && evtCtrl.evtStat[k0] < 90)
