Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 9079)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 9080)
@@ -34,4 +34,9 @@
    * mbase/MParEmulated.[h,cc]:
      - some improvements to support collection (still not finished)
+
+   * mraw/MRawRunHeader.cc:
+     - Implemented a fix for run-numbers between 1001348 and 1001396 
+       which were incorrectly assigned by the cc.
+     - changed order of fix and check
 
 
Index: /trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc
===================================================================
--- /trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 9079)
+++ /trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 9080)
@@ -298,5 +298,5 @@
         }
 
-        // Old formats can not contain a run number larger 0
+        // Old formats can not contain a run number larger 999999
         if (fRunNumber<1000000)
         {
@@ -444,4 +444,7 @@
 Bool_t MRawRunHeader::FixAssignment()
 {
+    if (!fTelescopeNumber==1)
+        return kTRUE;
+
     if (fRunNumber>=53300 && fRunNumber<=68754)
     {
@@ -494,4 +497,11 @@
         fNumEventsRead--;
         *fLog << inf << "Format >V8: Stored number of events decreased by 1." << endl;
+    }
+
+    if (fFormatVersion>10 && fRunNumber<48 &&
+        fRunStart.GetMjd()>54674.5 && fRunStart.GetMjd()<56476.5)
+    {
+        fRunNumber += 1001348;
+        *fLog << warn << "Format >V10: Wrong run number increased by 1001348 to " << fRunNumber << "." << endl;
     }
 
@@ -604,8 +614,4 @@
     }
 
-    // ----- Consistency checks -----
-    if (!IsConsistent())
-        return kFALSE;
-
     //
     // calculate size of array, create it and fill it
@@ -620,5 +626,10 @@
         fin.read(dummy, 16);
 
-    return Fixes();
+    // ----- Fixes for broken files or contents -----
+    if (!Fixes())
+        return kFALSE;
+
+    // ----- Consistency checks -----
+    return IsConsistent();
 }
 
@@ -727,8 +738,4 @@
     fRunStop.SetBinary(Int+91);
 
-    // ----- Consistency checks -----
-    if (!IsConsistent())
-        return kFALSE;
-
     // ----- 388 bytes so far -----
 
@@ -746,5 +753,10 @@
         (*fPixAssignment)[i] = Int[97+i];
 
-    return Fixes();
+    // ----- Fixes for broken files or contents -----
+    if (!Fixes())
+        return kFALSE;
+
+    // ----- Consistency checks -----
+    return IsConsistent();
 }
 
