diff --git a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp
index 139c943c60f1841e617c9c8de89462b1ba21ca8d..5015d11e90ad0879fba97a5f1bce0928e020027f 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp
@@ -178,9 +178,10 @@ ContextPaneWidget::ContextPaneWidget(QWidget *parent) : DragWidget(parent), m_cu
     addAction(m_resetAction.data());
     connect(m_resetAction.data(), SIGNAL(triggered(bool)), this, SLOT(onResetPosition(bool)));
 
-    QAction *disableAction = new QAction(tr("Disable permanently"), this);
-    addAction(disableAction);
-    connect(disableAction, SIGNAL(triggered()), this, SLOT(onDisable()));
+    m_disableAction = new QAction(tr("Show depending on context"), this);
+    addAction(m_disableAction.data());
+    m_disableAction->setCheckable(true);
+    connect(m_disableAction.data(), SIGNAL(toggled(bool)), this, SLOT(onDisable(bool)));
     m_pinned = false;
 }
 
@@ -205,6 +206,7 @@ void ContextPaneWidget::activate(const QPoint &pos, const QPoint &alternative, c
     rePosition(pos, alternative, alternative2);
     raise();
     m_resetAction->setChecked(Internal::BauhausPlugin::pluginInstance()->settings().pinContextPane);
+    m_disableAction->setChecked(Internal::BauhausPlugin::pluginInstance()->settings().enableContextPane);
 }
 
 void ContextPaneWidget::rePosition(const QPoint &position, const QPoint &alternative, const QPoint &alternative2)
@@ -358,13 +360,15 @@ void ContextPaneWidget::onShowColorDialog(bool checked, const QPoint &p)
     }
 }
 
-void ContextPaneWidget::onDisable()
+void ContextPaneWidget::onDisable(bool b)
 {       
     DesignerSettings designerSettings = Internal::BauhausPlugin::pluginInstance()->settings();
-    designerSettings.enableContextPane = false;
+    designerSettings.enableContextPane = b;
     Internal::BauhausPlugin::pluginInstance()->setSettings(designerSettings);
-    hide();
-    colorDialog()->hide();
+    if (!b) {
+        hide();
+        colorDialog()->hide();
+    }
 }
 
 void  ContextPaneWidget::onResetPosition(bool toggle)
diff --git a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h
index 4964fad9e65bb0453b74f9439270615c7d84e517..3f41888e98e35b6add5081bb9e8e845051f6d519 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h
@@ -69,7 +69,7 @@ signals:
     void removeAndChangeProperty(const QString &, const QString &, const QVariant &, bool);
 
 private slots:
-    void onDisable();
+    void onDisable(bool);
     void onResetPosition(bool toggle);
 
 protected:
@@ -95,6 +95,7 @@ private:
     ContextPaneWidgetRectangle *m_rectangleWidget;
     QWeakPointer<BauhausColorDialog> m_bauhausColorDialog;
     QWeakPointer<QAction> m_resetAction;
+    QWeakPointer<QAction> m_disableAction;
     QString m_colorName;
     QPoint m_originalPos;
     bool m_pinned;