diff --git a/gui/gui/src/TRootCanvas.cxx b/gui/gui/src/TRootCanvas.cxx
index e624554cb5bb0d455313576b8fdf0e8c4faf348f..c8fbc404ce602cb803363f2bf85eb82bcd6781c5 100644
--- a/gui/gui/src/TRootCanvas.cxx
+++ b/gui/gui/src/TRootCanvas.cxx
@@ -957,7 +957,7 @@ again:
                         //   m->Update();
                         TColorWheel *wheel = new TColorWheel();
                         wheel->Draw();
-                        padsav->cd();
+                        if (padsav) padsav->cd();
                      }
                      break;
                   case kViewFonts:
@@ -1464,7 +1464,7 @@ void TRootCanvas::CreateEditor()
    Int_t show = gEnv->GetValue("Canvas.ShowEditor", 0);
    gEnv->SetValue("Canvas.ShowEditor","true");
    fEditor = TVirtualPadEditor::LoadEditor();
-   fEditor->SetGlobal(kFALSE);
+   if (fEditor) fEditor->SetGlobal(kFALSE);
    fEditorFrame->SetEditable(kEditDisable);
    fEditorFrame->SetEditable(kFALSE);