Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 4852)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 4853)
@@ -1273,11 +1273,10 @@
       MBadPixelsPix         &bad = (*fBadPixels)[i];
 
-      if (!pix.IsFFactorMethodValid())
+      if (bad.IsUnsuitable(MBadPixelsPix::kUnsuitableRun))
         continue;
       
-      const Int_t   aidx   = (*fGeom)[i].GetAidx();
-
       if (bad.IsUncalibrated(MBadPixelsPix::kChargeSigmaNotValid))
         {
+          const Int_t            aidx = (*fGeom)[i].GetAidx();
           MCalibrationChargePix &apix = (MCalibrationChargePix&)fCam->GetAverageArea(aidx);
           pix.SetPheFFactorMethod   ( apix.GetPheFFactorMethod()    );
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 4852)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 4853)
@@ -878,5 +878,5 @@
 
   const Float_t ffactorsquareRelVar = 4.* GetFFactorRelVar();
-  const Float_t rsigmaSquareRelVar  =     fRSigmaSquareVar / fRSigmaSquare / fRSigmaSquare;
+  const Float_t rsigmaSquareRelVar  = fRSigmaSquareVar / fRSigmaSquare / fRSigmaSquare;
   //
   // In the calculation of the number of phe's one mean square has already been used. 
@@ -884,6 +884,13 @@
   // the errors, but have to take account of this cancellation:
   // 
-  const Float_t convrelvar = ffactorsquareRelVar + GetMeanRelVar() + rsigmaSquareRelVar;
+  Float_t convrelvar = ffactorsquareRelVar + GetMeanRelVar() + rsigmaSquareRelVar;
   const Float_t limit      = IsHiGainSaturation() ? fConvFFactorRelVarLimit * 4. : fConvFFactorRelVarLimit;
+
+  //
+  // Also have to take into account the pixels labelled MBadPixelsPix::kChargeSigmaNotValid which do not 
+  // have a fRSigmaSquareVar, calculate their error directly!
+  //
+  if (fRSigmaSquareVar < 0.)
+    convrelvar = GetMeanRelVar() + GetPheFFactorMethodRelVar();
 
   if (IsDebug())
