Index: trunk/MagicSoft/Mars/mhflux/MAlphaFitter.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MAlphaFitter.cc	(revision 8775)
+++ trunk/MagicSoft/Mars/mhflux/MAlphaFitter.cc	(revision 8780)
@@ -853,8 +853,5 @@
             fScaleMode = kUserScale;
         if (txt==(TString)"fixed")
-        {
-            fScaleMode = kUserScale;
-            fScaleUser = fScaleFactor;
-        }
+            FixScale();
         rc = kTRUE;
     }
Index: trunk/MagicSoft/Mars/mhflux/MAlphaFitter.h
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MAlphaFitter.h	(revision 8775)
+++ trunk/MagicSoft/Mars/mhflux/MAlphaFitter.h	(revision 8780)
@@ -165,4 +165,10 @@
     void EnableBackgroundFit(Bool_t b=kTRUE) { fFitBackground=b; }
 
+    void FixScale()
+    {
+        fScaleMode = kUserScale;
+        fScaleUser = fScaleFactor;
+    }
+
     // Getter
     Double_t GetSignalIntegralMax() const  { return fSigInt; }
Index: trunk/MagicSoft/Mars/mhflux/MHAlpha.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8775)
+++ trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8780)
@@ -159,18 +159,15 @@
     for (int i=1; i<=n; i++)
     {
-        if (fit.FitEnergy(fHist, fOffData, i))
-        {
-            fHEnergy.SetBinContent(i, fit.GetEventsExcess());
-            if (fit.GetSignificanceExc()>1)
-                fHEnergy.SetBinError(i, fit.GetEventsExcess()/fit.GetSignificanceExc());
-            else
-                fHEnergy.SetBinError(i, fit.GetEventsExcess());
-
-            if (fit.GetSignificanceExc()>1)
-            {
-                mean += fit.GetSignificanceExc()*fit.GetSignificanceExc();
-                num++;
-            }
-        }
+        if (!fit.FitEnergy(fHist, fOffData, i))
+            continue;
+
+        if (fit.GetSignificanceExc()<=0)
+            continue;
+
+        fHEnergy.SetBinContent(i, fit.GetEventsExcess());
+        fHEnergy.SetBinError(i, fit.GetEventsExcess()/fit.GetSignificanceExc());
+
+        mean += fit.GetSignificanceExc()*fit.GetSignificanceExc();
+        num++;
     }
     return TMath::Sqrt(mean)/num;
@@ -188,12 +185,12 @@
     for (int i=1; i<=n; i++)
     {
-        if (fit.FitTheta(fHist, fOffData, i))
-        {
-            fHTheta.SetBinContent(i, fit.GetEventsExcess());
-            if (fit.GetSignificanceExc()>1)
-                fHTheta.SetBinError(i, fit.GetEventsExcess()/fit.GetSignificanceExc());
-            else
-                fHTheta.SetBinError(i, fit.GetEventsExcess());
-        }
+        if (!fit.FitTheta(fHist, fOffData, i))
+            continue;
+
+        if (fit.GetSignificanceExc()<=0)
+            continue;
+
+        fHTheta.SetBinContent(i, fit.GetEventsExcess());
+        fHTheta.SetBinError(i, fit.GetEventsExcess()/fit.GetSignificanceExc());
     }
 }
@@ -431,9 +428,9 @@
     // Fill histogram
     //
-    fHTime.SetBinContent(n+1, fit.GetEventsExcess());
-    if (fit.GetSignificanceExc()>1)
+    if (fit.GetSignificanceExc()>0)
+    {
+        fHTime.SetBinContent(n+1, fit.GetEventsExcess());
         fHTime.SetBinError(n+1, fit.GetEventsExcess()/fit.GetSignificanceExc());
-    else
-        fHTime.SetBinError(n+1, fit.GetEventsExcess());
+    }
 
     *fLog << all << *fTimeEffOn << ": " << fit.GetEventsExcess() << endl;
@@ -735,5 +732,5 @@
     AppendPad("variable");
 
-    if (fHEnergy.GetNbinsX()>1)
+    if (fHEnergy.GetNbinsX()>1 || fHEnergy.GetBinContent(1)>0)
     {
         pad->cd(2);
@@ -759,5 +756,5 @@
         delete pad->GetPad(2);
 
-    if (fTimeEffOn && fTime || fHTime.GetNbinsX()>1)
+    if (fTimeEffOn && fTime || fHTime.GetNbinsX()>1 || fHTime.GetBinContent(1)>0)
     {
         pad->cd(3);
@@ -771,5 +768,5 @@
         delete pad->GetPad(3);
 
-    if (fHTheta.GetNbinsX()>1)
+    if (fHTheta.GetNbinsX()>1 || fHTheta.GetBinContent(1)>0)
     {
         pad->cd(4);
