diff --git a/hist/hist/src/THStack.cxx b/hist/hist/src/THStack.cxx
index e5d33751d2bd014f5bdb939dd2a2ed805c80bc01..2cea359fd6e3e2619fe96e8cdb15626136a56645 100644
--- a/hist/hist/src/THStack.cxx
+++ b/hist/hist/src/THStack.cxx
@@ -723,6 +723,7 @@ void THStack::Paint(Option_t *choptin)
 
    TString opt = option;
    opt.ToLower();
+   opt.ReplaceAll(" ","");
    Bool_t lsame = kFALSE;
    if (opt.Contains("same")) {
       lsame = kTRUE;
@@ -765,7 +766,6 @@ void THStack::Paint(Option_t *choptin)
       return;
    }
    Bool_t lnoaxis = kFALSE;
-   if (opt.Contains("a")) lnoaxis = kTRUE;
 
    // compute the min/max of each axis
    TH1 *h;
@@ -787,8 +787,8 @@ void THStack::Paint(Option_t *choptin)
    snprintf(loption,31,"%s",opt.Data());
    char *nostack  = strstr(loption,"nostack");
    char *nostackb = strstr(loption,"nostackb");
-   char *candle = strstr(loption,"candle");
-   char *violin = strstr(loption,"violin");
+   char *candle   = strstr(loption,"candle");
+   char *violin   = strstr(loption,"violin");
 
    // do not delete the stack. Another pad may contain the same object
    // drawn in stack mode!
@@ -954,6 +954,12 @@ void THStack::Paint(Option_t *choptin)
          lnk = (TObjOptLink*)lnk->Prev();
       }
    }
+
+   opt.ReplaceAll("nostack","");
+   opt.ReplaceAll("candle","");
+   if (opt.Contains("a")) lnoaxis = kTRUE;
+
+   printf("lnoaxis = %d\n",lnoaxis);
    if (!lsame && !lnoaxis) fHistogram->Paint("axissame");
 }
 
diff --git a/tutorials/hist/thstackpalettecolor.C b/tutorials/hist/thstackpalettecolor.C
index fd7cce9ab7d0f170e88e8fe8e04e790298edcfb7..6da55f7f655c843bcf7cdb4fa97e6fcd45344481 100644
--- a/tutorials/hist/thstackpalettecolor.C
+++ b/tutorials/hist/thstackpalettecolor.C
@@ -36,5 +36,5 @@ void thstackpalettecolor()
    hs->Add(h3st);
 
    // draw the stack
-   hs->Draw("PFC");
+   hs->Draw("pfc nostack");
 }