Index: trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc	(revision 7052)
+++ trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc	(revision 7053)
@@ -77,7 +77,8 @@
 MCalibCalcFromPast::MCalibCalcFromPast(const char *name, const char *title)
     : fGeom(NULL), fParList(NULL), fRunHeader(NULL),
-      fIntensCharge(NULL), fIntensBlind(NULL), fIntensRelTime(NULL), fIntensBad(NULL),
-      fChargeCalc(NULL), fRelTimeCalc(NULL), fCalibrate(NULL),
-      fNumEvents(0), fNumCam(0), fUpdateWithFFactorMethod(kFALSE)
+    fIntensCharge(NULL), fIntensBlind(NULL), fIntensQE(NULL),
+    fIntensRelTime(NULL), fIntensBad(NULL), fChargeCalc(NULL),
+    fRelTimeCalc(NULL), fCalibrate(NULL), fNumEvents(0), fNumCam(0),
+    fUpdateWithFFactorMethod(kFALSE)
 {
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc	(revision 7052)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc	(revision 7053)
@@ -253,5 +253,5 @@
     }
 
-    if (fPedestalFlag)
+    if (fPedestalFlag!=kNo)
     {
         if (fNamesPedestal.GetSize()==0)
@@ -323,5 +323,5 @@
 
     // Sizes might have changed
-    if (fPedestalFlag)
+    if (fPedestalFlag!=kNo)
     {
         TIter Next(&fPedestalCams);
@@ -405,10 +405,4 @@
           {
             *fLog << "Size mismatch between MGeomCam and MCalibrationChargeCam... abort!" << endl;
-            return kFALSE;
-          }
-        
-        if (fBadPixels->GetSize() != npixels)
-          {
-            *fLog << "Size mismatch between MGeomCam and MBadPixelsCam... abort!" << endl;
             return kFALSE;
           }
@@ -598,10 +592,6 @@
         if (calibConv != 0. && calibQE != 0.)
           {
-            // Now doing:
             calibConvVar  = calibConvVar/(calibConv*calibConv) + calibQEVar/(calibQE*calibQE);
             calibConvVar *= (calibConv*calibConv);
-            // The above two lines had been commented by TB and replaced by the following line 
-            // (without notice to me!) but it is simply wrong!
-            //          calibConvVar += calibQEVar*(calibConv*calibConv)/(calibQE*calibQE);
           }
 
@@ -631,8 +621,4 @@
         return kFALSE;
     }
-
-    
-
-    //    Print();
 
     return kTRUE;
Index: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 7052)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 7053)
@@ -722,8 +722,4 @@
     tlist2.AddToList(&contcos);
     if (fIsHiLoCalibration)
-      tlist2.AddToList(&filhil);
-    if (fIsPulsePosCheck)
-        tlist2.AddToList(&filpul);
-    if (fIsHiLoCalibration)
     {
         plist.AddToList(&hilocam);
Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 7052)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 7053)
@@ -1976,8 +1976,12 @@
         SetUsePINDiode(kFALSE);
 
-    tlist.PrintStatistics();
-    DisplayResult(plist);
-    if (!WriteResult(plist))
-        return kFALSE;
+    const Int_t numexec = IsUseRawData() ? rawread.GetNuMExecutions() : read.GetNuMExecutions();
+    if (numexec>0)
+    {
+        tlist.PrintStatistics();
+        DisplayResult(plist);
+        if (!WriteResult(plist))
+            return kFALSE;
+    }
 
     if (!rc)
