Index: trunk/MagicSoft/Mars/msim/MSimMMCS.cc
===================================================================
--- trunk/MagicSoft/Mars/msim/MSimMMCS.cc	(revision 9354)
+++ trunk/MagicSoft/Mars/msim/MSimMMCS.cc	(revision 9359)
@@ -67,5 +67,6 @@
 Int_t MSimMMCS::PreProcess(MParList *plist)
 {
-    if (!plist->FindCreateObj("MMcRunHeader"))
+    fMcRunHeader = (MMcRunHeader*)plist->FindCreateObj("MMcRunHeader");
+    if (!fMcRunHeader)
         return kFALSE;
 
@@ -105,5 +106,4 @@
     }
 
-
     return kTRUE;
 }
@@ -126,17 +126,12 @@
     // ----------------------------------------------------
 
-    MMcRunHeader *mrh = (MMcRunHeader*)plist->FindObject("MMcRunHeader");
-    if (!mrh)
-    {
-        *fLog << err << "MMcRunHeader not found... aborting." << endl;
-        return kFALSE;
-    }
-
     //    fNumPheFromDNSB        MMcPedestalNSBAdd   // Number of phe/ns from diffuse NSB
 
     // FIXME: Is there a way to write them as LAST entry in the file?
-    mrh->SetNumSimulatedShowers(fRunHeader->GetNumEvents());
-    mrh->SetImpactMax(fRunHeader->GetImpactMax());
-    mrh->SetCorsikaVersion(TMath::Nint(fRunHeader->GetProgramVersion()*100));
+    fMcRunHeader->SetNumSimulatedShowers(fRunHeader->GetNumEvents());
+    fMcRunHeader->SetCorsikaVersion(TMath::Nint(fRunHeader->GetProgramVersion()*100));
+
+    if (fRunHeader->GetImpactMax()>0)
+        fMcRunHeader->SetImpactMax(fRunHeader->GetImpactMax());
 
     // ----------------------------------------------------
@@ -185,4 +180,8 @@
     fMcEvt->SetPhotElfromShower(0);
 
+    if (fRunHeader->GetImpactMax()<0 &&
+        fEvtHeader->GetImpact()>fMcRunHeader->GetImpactMax())
+        fMcRunHeader->SetImpactMax(fEvtHeader->GetImpact());
+
     return kTRUE;
 }
Index: trunk/MagicSoft/Mars/msim/MSimMMCS.h
===================================================================
--- trunk/MagicSoft/Mars/msim/MSimMMCS.h	(revision 9354)
+++ trunk/MagicSoft/Mars/msim/MSimMMCS.h	(revision 9359)
@@ -12,4 +12,5 @@
 class MCorsikaEvtHeader;
 class MCorsikaRunHeader;
+class MMcRunHeader;
 
 class MSimMMCS : public MTask
@@ -21,4 +22,5 @@
     MCorsikaEvtHeader *fEvtHeader;
     MCorsikaRunHeader *fRunHeader;
+    MMcRunHeader      *fMcRunHeader;
 
     // MTask
