Index: trunk/FACT++/src/datalogger.cc
===================================================================
--- trunk/FACT++/src/datalogger.cc	(revision 12082)
+++ trunk/FACT++/src/datalogger.cc	(revision 12083)
@@ -1242,9 +1242,10 @@
             if (rit->time < cTime) //this is the run number that we want to use
             {
-                if (rit->runNumber <= 0)//take only positive numbers.
-                    break;
                 //Find something better to convert iterator to pointer than the ugly line below....
                 cRunNumber = &(*rit);
                 sub.runNumber = rit->runNumber;
+
+                if (rit->runNumber <= 0)//take only positive numbers.
+                    break;
 #ifdef RUN_LOGS
                 targetRunFile = isItaReport ? (rit->reportFile).get() : (rit->logFile).get();
@@ -1330,5 +1331,5 @@
                 sub.nightlyFile.Close();
             }
-        sub.lastReceivedEvent = cTime;
+        sub.lastReceivedEvent = cTime;//ici
         if (!sub.nightlyFile.IsOpen() || !sub.runFile.IsOpen() || sub.runNumber != sub.runFile.fRunNumber)
             if (GetCurrentState() != kSM_Ready)
@@ -1824,5 +1825,5 @@
     }
     //do the actual file open
-    if (!sub.runFile.IsOpen() && (GetCurrentState() == kSM_WaitingRun || GetCurrentState() == kSM_Logging) && sub.runNumber != 0)
+    if (!sub.runFile.IsOpen() && (GetCurrentState() == kSM_WaitingRun || GetCurrentState() == kSM_Logging) && sub.runNumber > 0)
     {//buffer for the run file have already been allocated when doing the Nightly file
         string fileNameOnly;
