diff --git a/src/libs/qmleditorwidgets/contextpanewidget.cpp b/src/libs/qmleditorwidgets/contextpanewidget.cpp
index 60e434f4667d669efad85a837400e41b861ab3a3..267d3854e33750300680c0b1224464b43a6c8972 100644
--- a/src/libs/qmleditorwidgets/contextpanewidget.cpp
+++ b/src/libs/qmleditorwidgets/contextpanewidget.cpp
@@ -363,6 +363,7 @@ void ContextPaneWidget::onTogglePane()
         setLineButton();
     } else {
         deactivate();
+        emit closed();
     }
 }
 
diff --git a/src/libs/qmleditorwidgets/contextpanewidget.h b/src/libs/qmleditorwidgets/contextpanewidget.h
index 14a040f28edf8ae2dc3c93d3e68619da6e5f34b9..129d24a1b78bb751661b936e2e2439a5251b12af 100644
--- a/src/libs/qmleditorwidgets/contextpanewidget.h
+++ b/src/libs/qmleditorwidgets/contextpanewidget.h
@@ -100,6 +100,7 @@ signals:
     void removeAndChangeProperty(const QString &, const QString &, const QVariant &, bool);
     void pinnedChanged(bool);
     void enabledChanged(bool);
+    void closed();
 
 private slots:
     void onDisable(bool);
diff --git a/src/libs/qmljs/qmljsicontextpane.h b/src/libs/qmljs/qmljsicontextpane.h
index 3444fe3daaa2700d3c24f9749ff6e3e36f09ae49..ccb176ad261200e47cbf02a9971fa2f8ed31873c 100644
--- a/src/libs/qmljs/qmljsicontextpane.h
+++ b/src/libs/qmljs/qmljsicontextpane.h
@@ -56,6 +56,8 @@ public:
     virtual void setEnabled(bool) = 0;
     virtual bool isAvailable(TextEditor::BaseTextEditorEditable *editor, Document::Ptr doc, const QmlJS::Snapshot &snapshot, AST::Node *node) = 0;
     virtual QWidget* widget() = 0;
+signals:
+    void closed();
 };
 
 } // namespace QmlJS
diff --git a/src/plugins/qmljseditor/quicktoolbar.cpp b/src/plugins/qmljseditor/quicktoolbar.cpp
index 8eab13aa2293248aa21be9a8b75c4b7452a246fc..94c9b29477ac1e8863bf58cc4997360cf2a01362 100644
--- a/src/plugins/qmljseditor/quicktoolbar.cpp
+++ b/src/plugins/qmljseditor/quicktoolbar.cpp
@@ -367,6 +367,7 @@ ContextPaneWidget* QuickToolBar::contextWidget()
         connect(m_widget.data(), SIGNAL(removeAndChangeProperty(QString,QString,QVariant, bool)), this, SLOT(onPropertyRemovedAndChange(QString,QString,QVariant, bool)));
         connect(m_widget.data(), SIGNAL(enabledChanged(bool)), this, SLOT(onEnabledChanged(bool)));
         connect(m_widget.data(), SIGNAL(pinnedChanged(bool)), this, SLOT(onPinnedChanged(bool)));
+        connect(m_widget.data(), SIGNAL(closed()), this, SIGNAL(closed()));
     }
     return m_widget.data();
 }