Index: /trunk/MagicSoft/Mars/mimage/MHillasCalc.cc
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHillasCalc.cc	(revision 4817)
+++ /trunk/MagicSoft/Mars/mimage/MHillasCalc.cc	(revision 4818)
@@ -174,5 +174,5 @@
           fNameConc(gsNameConc),           fNameImagePar(gsNameImagePar),
           fNameNewImagePar(gsNameNewImagePar),
-          fErrors(5), fFlags(0xff), fIdxIsland(-1)
+          fErrors(6), fFlags(0xff), fIdxIsland(-1)
 {
     fName  = name  ? name  : gsDefName.Data();
@@ -275,5 +275,5 @@
     }
 
-    memset(fErrors.GetArray(), 0, sizeof(Char_t)*fErrors.GetSize());
+    fErrors.Reset();
 
     Print();
@@ -293,5 +293,5 @@
     if (TestFlag(kCalcHillas))
     {
-        Int_t rc = fHillas->Calc(*fGeomCam, *fCerPhotEvt, fIdxIsland);
+        const Int_t rc = fHillas->Calc(*fGeomCam, *fCerPhotEvt, fIdxIsland);
         if (rc<0 || rc>4)
         {
@@ -299,17 +299,26 @@
             return kFALSE;
         }
-        fErrors[rc]++;
         if (rc>0)
+        {
+            fErrors[rc]++;
             return kCONTINUE;
+        }
     }
 
     if (TestFlag(kCalcHillasSrc))
     {
-        if (!fHillasSrc->Calc(*fHillas))
-        {
-            fErrors[5]++;
+        const Int_t rc = fHillasSrc->Calc(*fHillas);
+        if (rc<0 || rc>2)
+        {
+            *fLog << err << dbginf << "MHillasSrc::Calc returned unknown error code!" << endl;
+            return kFALSE;
+        }
+        if (rc>0)
+        {
+            fErrors[rc]++;
             return kCONTINUE;
         }
     }
+    fErrors[0]++;
 
     if (TestFlag(kCalcHillasExt))
@@ -364,5 +373,8 @@
     }
     if (TestBit(kCalcHillasSrc))
+    {
         PrintSkipped(5, "Dist==0");
+        PrintSkipped(6, "Arg2==0");
+    }
     *fLog << " " << (int)fErrors[0] << " (" << (int)(100.*fErrors[0]/GetNumExecutions()) << "%) Evts survived Hillas calculation!" << endl;
     *fLog << endl;
