Index: trunk/MagicSoft/Mars/mhbase/MFillH.cc
===================================================================
--- trunk/MagicSoft/Mars/mhbase/MFillH.cc	(revision 3112)
+++ trunk/MagicSoft/Mars/mhbase/MFillH.cc	(revision 3144)
@@ -395,8 +395,8 @@
 
 	if (!fWeight)
-	  {
-	    *fLog << err << fWeightName << " [MWeight] not found... aborting." << endl;
-	    return kFALSE;
-	  }
+        {
+            *fLog << err << fWeightName << " [MWeight] not found... aborting." << endl;
+            return kFALSE;
+        }
     }
 
@@ -474,4 +474,10 @@
         return DrawToDisplay();
 
+    if (TestBit(kCanSkip))
+    {
+        *fLog << warn << fParContainerName << " [MParContainer] not found... skipped." << endl;
+        return kSKIP;
+    }
+
     *fLog << err << fParContainerName << " [MParContainer] not found... aborting." << endl;
     return kFALSE;
@@ -501,5 +507,14 @@
      */
 
-    return fH->Fill(fParContainer, fWeight?fWeight->GetWeight():1);
+    TVirtualPad *save = gPad;
+    if (fCanvas)
+        fCanvas->cd();
+
+    Bool_t rc = fH->Fill(fParContainer, fWeight?fWeight->GetWeight():1);
+
+    if (save && fCanvas)
+        save->cd();
+
+    return rc;
 } 
 
Index: trunk/MagicSoft/Mars/mhbase/MFillH.h
===================================================================
--- trunk/MagicSoft/Mars/mhbase/MFillH.h	(revision 3112)
+++ trunk/MagicSoft/Mars/mhbase/MFillH.h	(revision 3144)
@@ -18,5 +18,6 @@
 public:
     enum {
-        kDoNotDisplay = BIT(17)
+        kDoNotDisplay = BIT(17),
+        kCanSkip      = BIT(18)
     };
 
