Index: trunk/MagicSoft/Mars/mraw/MRawFileRead.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawFileRead.cc	(revision 2273)
+++ trunk/MagicSoft/Mars/mraw/MRawFileRead.cc	(revision 2299)
@@ -223,6 +223,10 @@
     {
         fRawCrateArray->GetEntry(i)->ReadEvt(*fIn);
+        if (!*fIn)
+            return kFALSE;
 
         fRawEvtData->ReadEvt(*fIn);
+        if (!*fIn)
+            return kFALSE;
     }
 
Index: trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 2273)
+++ trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 2299)
@@ -56,4 +56,22 @@
 
     fPixAssignment = new MArrayS(0);
+
+    fFormatVersion=0;
+    fSoftVersion=0;
+    fRunType=0;
+    fRunNumber=0;
+    fProjectName[0]=0;
+    fSourceName[0]=0;
+    fSourceEpochChar[0]=0;
+    fSourceEpochDate=0;
+    fMJD=0;
+    fDateYear=0;
+    fDateMonth=0;
+    fDateDay=0;
+    fNumCrates=0;
+    fNumPixInCrate=0;
+    fNumSamplesLoGain=0;
+    fNumSamplesHiGain=0;
+    fNumEvents=0;
 }
 
@@ -76,14 +94,17 @@
     // read one RUN HEADER from the input stream
     //
-    fin.read((char*)&fMagicNumber,       2);
+    fin.read((char*)&fMagicNumber, 2);
 
     //
     // check whether the the file has the right file type or not
     //
-    if (fMagicNumber != kMagicNumber)
+    if (fMagicNumber != kMagicNumber && fMagicNumber != kMagicNumber+1)
     {
         *fLog << err << "Error: Wrong Magic Number: Not a Magic File!" << endl;
         return;
     }
+
+    if (fMagicNumber == kMagicNumber && fMagicNumber != kMagicNumber+1)
+        *fLog << warn << "WARNING - This file maybe broken (0xc0c1) - DAQ didn't close it correctly!" << endl;
 
     Byte_t dummy[16];
