Index: trunk/FACT++/src/EventBuilder.cc
===================================================================
--- trunk/FACT++/src/EventBuilder.cc	(revision 16568)
+++ trunk/FACT++/src/EventBuilder.cc	(revision 16569)
@@ -1217,9 +1217,10 @@
             if (evt && !evt->initMemory())
             {
-                if (evt->reportMem)
+                const time_t tm = time(NULL);
+                if (evt->runCtrl->reportMem==tm)
                     continue;
 
                 factPrintf(MessageImp::kError, "No free memory left for %d (run=%d)", evt->evNum, evt->runNum);
-                evt->reportMem = true;
+                evt->runCtrl->reportMem = tm;
                 continue;
             }
Index: trunk/FACT++/src/EventBuilder.h
===================================================================
--- trunk/FACT++/src/EventBuilder.h	(revision 16568)
+++ trunk/FACT++/src/EventBuilder.h	(revision 16569)
@@ -49,4 +49,6 @@
     int64_t runId ;      // Run number
 
+    time_t reportMem;        // initMemory has reported no memory once (set outside of class)
+
     time_t openTime;     // Time when first event (first board) was received
     time_t lastTime;     // Time when last event was received (set when first board data received)
@@ -67,5 +69,5 @@
     std::list<std::array<int16_t,1440>> prevStart; // History for start cells of previous events (for step calibration)
 
-    RUN_CTRL2() : runId(-1), lastTime(0), lastEvt(0), maxEvt(1<<31), fileStat(kFileNotYetOpen)
+    RUN_CTRL2() : runId(-1), reportMem(0), lastTime(0), lastEvt(0), maxEvt(1<<31), fileStat(kFileNotYetOpen)
     {
         // runId   = -1;
@@ -119,5 +121,4 @@
     PEVNT_HEADER *header;  // Pointer to a valid header within FADhead
 
-    bool reportMem;        // initMemory has reported no memory once (set outside of class)
     int closeRequest;
 
@@ -126,5 +127,5 @@
     // Be carefull with this constructor... writeEvt can seg fault
     // it gets an empty runCtrl
-    EVT_CTRL2() : nBoard(0), FADhead(0), header(0), reportMem(false), closeRequest(kRequestNone)
+    EVT_CTRL2() : nBoard(0), FADhead(0), header(0), closeRequest(kRequestNone)
     {
         //flag all boards as unused
@@ -138,5 +139,5 @@
         }*/
 
-    EVT_CTRL2(int req, const std::shared_ptr<RUN_CTRL2> &run) : nBoard(0), FADhead(0), header(0), reportMem(false), closeRequest(req), runCtrl(run)
+    EVT_CTRL2(int req, const std::shared_ptr<RUN_CTRL2> &run) : nBoard(0), FADhead(0), header(0), closeRequest(req), runCtrl(run)
     {
         //flag all boards as unused
