Index: trunk/MagicSoft/Mars/mimage/MHHillas.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 5690)
+++ trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 5994)
@@ -286,5 +286,5 @@
 // together with the canvas.
 //
-void MHHillas::Draw(Option_t *)
+void MHHillas::Draw(Option_t *o)
 {
     TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this);
@@ -293,13 +293,29 @@
     AppendPad("");
 
-    pad->Divide(2,3);
+    TString opt(o);
+    opt.ToLower();
+
+    // FIXME: If same-option given make two independant y-axis!
+    const Bool_t same = opt.Contains("same");
+
+    if (!same)
+        pad->Divide(2,3);
+    else
+    {
+        fDistC->SetLineColor(kGreen);
+        fSize->SetLineColor(kGreen);
+        fDelta->SetLineColor(kGreen);
+
+        fWidth->SetLineColor(kMagenta);
+        fLength->SetLineColor(kCyan);
+    }
 
     pad->cd(1);
     gPad->SetBorderMode(0);
-    MH::DrawSame(*fWidth, *fLength, "Width'n'Length");
+    MH::DrawSame(*fWidth, *fLength, "Width'n'Length", same);
 
     pad->cd(2);
     gPad->SetBorderMode(0);
-    fDistC->Draw();
+    fDistC->Draw(same?"same":"");
 
     pad->cd(3);
@@ -307,24 +323,28 @@
     gPad->SetLogx();
     gPad->SetLogy();
-    fSize->Draw();
-
-    pad->cd(4);
-    gPad->SetBorderMode(0);
-    gPad->SetPad(0.51, 0.01, 0.99, 0.65);
-    SetColors();
-    fCenter->Draw("colz");
-    if (fGeomCam)
-    {
-        MHCamera *cam = new MHCamera(*fGeomCam);
-        cam->Draw("same");
-        cam->SetBit(kCanDelete);
+    fSize->Draw(same?"same":"");
+
+    if (!same)
+    {
+        pad->cd(4);
+        gPad->SetBorderMode(0);
+        gPad->SetPad(0.51, 0.01, 0.99, 0.65);
+        SetColors();
+        fCenter->Draw("colz");
+        if (fGeomCam)
+        {
+            MHCamera *cam = new MHCamera(*fGeomCam);
+            cam->Draw("same");
+            cam->SetBit(kCanDelete);
+        }
     }
 
     pad->cd(5);
     gPad->SetBorderMode(0);
-    fDelta->Draw();
+    fDelta->Draw(same?"same":"");
 
     pad->cd(6);
-    delete gPad;
+    if (gPad && !same)
+        delete gPad;
 
     pad->Modified();
Index: trunk/MagicSoft/Mars/mimage/MHImagePar.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHImagePar.cc	(revision 5690)
+++ trunk/MagicSoft/Mars/mimage/MHImagePar.cc	(revision 5994)
@@ -136,8 +136,14 @@
 void MHImagePar::Paint(Option_t *o)
 {
-    if (TString(o)==(TString)"log1" && fHistSatHi.GetMaximum()>0)
-        gPad->SetLogy();
-    if (TString(o)==(TString)"log2" && fHistIslands.GetMaximum()>0)
-        gPad->SetLogy();
+    /*
+     if (TString(o)==(TString)"log1" && fHistSatHi.GetMaximum()>0)
+     gPad->SetLogy();
+     if (TString(o)==(TString)"log2" && fHistIslands.GetMaximum()>0)
+     gPad->SetLogy();
+     */
+     if (fHistSatHi.GetMaximum()>0 && gPad->GetPad(1))
+         gPad->GetPad(1)->SetLogy();
+     if (fHistIslands.GetMaximum()>0 && gPad->GetPad(2))
+         gPad->GetPad(2)->SetLogy();
 }
 
@@ -148,5 +154,5 @@
 // together with the canvas.
 //
-void MHImagePar::Draw(Option_t *)
+void MHImagePar::Draw(Option_t *o)
 {
     TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this);
@@ -155,18 +161,30 @@
     AppendPad("");
 
-    pad->Divide(1,2);
-
-    pad->cd(1);
-    gPad->SetBorderMode(0);
-    MH::DrawSame(fHistSatHi, fHistSatLo, "Saturating Pixels");
-    fHistSatHi.SetMinimum(); // switch off to allow log-scale
-    fHistSatLo.SetMinimum(); // switch off to allow log-scale
-    fHistSatLo.SetMaximum(0.1);   // dummy value to allow log-scale
-    AppendPad("log1");
+    TString opt(o);
+    opt.ToLower();
+
+    // FIXME: If same-option given make two independant y-axis!
+    const Bool_t same = opt.Contains("same");
+
+    if (!same)
+        pad->Divide(1,2);
+    else
+        fHistIslands.SetLineColor(kGreen);
+
+    if (!same)
+    {
+        pad->cd(1);
+        gPad->SetBorderMode(0);
+        MH::DrawSame(fHistSatHi, fHistSatLo, "Saturating Pixels");
+        fHistSatHi.SetMinimum(); // switch off to allow log-scale
+        fHistSatLo.SetMinimum(); // switch off to allow log-scale
+        fHistSatLo.SetMaximum(0.1);   // dummy value to allow log-scale
+        //AppendPad("log1");
+    }
 
     pad->cd(2);
     gPad->SetBorderMode(0);
-    fHistIslands.Draw();
-    AppendPad("log2");
+    fHistIslands.Draw(same?"same":"");
+    //AppendPad("log2");
 }
 
