diff --git a/src/plugins/qmljsinspector/qmljsinspector.cpp b/src/plugins/qmljsinspector/qmljsinspector.cpp
index 6c25985f643e16e40aba4234ea6ae3083dfc876c..47a4783bd85dab80b4f7d9fb66b4779f5e6fa2f2 100644
--- a/src/plugins/qmljsinspector/qmljsinspector.cpp
+++ b/src/plugins/qmljsinspector/qmljsinspector.cpp
@@ -261,6 +261,11 @@ void InspectorUi::debugQueryUpdated(QDeclarativeDebugQuery::State newState)
     disconnect(m_debugQuery,SIGNAL(stateChanged(QDeclarativeDebugQuery::State)),this,SLOT(debugQueryUpdated(QDeclarativeDebugQuery::State)));
 }
 
+bool InspectorUi::isConnected() const
+{
+    return m_clientProxy;
+}
+
 void InspectorUi::connected(ClientProxy *clientProxy)
 {
     m_clientProxy = clientProxy;
diff --git a/src/plugins/qmljsinspector/qmljsinspector.h b/src/plugins/qmljsinspector/qmljsinspector.h
index ae56e4eca1a8fd167217a2a6b853b538f16e095c..ebcd795ddbbd3d8ee2b3f08c9d307ca8c9ac8542 100644
--- a/src/plugins/qmljsinspector/qmljsinspector.h
+++ b/src/plugins/qmljsinspector/qmljsinspector.h
@@ -103,6 +103,7 @@ public:
     bool isShadowBuildProject() const;
 
     void setupUi();
+    bool isConnected() const;
     void connected(ClientProxy *clientProxy);
     void disconnected();
     void setDebuggerEngine(Debugger::QmlEngine *qmlEngine);
diff --git a/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp b/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp
index a89f00d0baaeec606350b633fd4eb95173ff2a1f..ff787e020b4822072d6b56347ed0c912bbc75863 100644
--- a/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp
+++ b/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp
@@ -140,7 +140,8 @@ void InspectorPlugin::objectAdded(QObject *object)
 void InspectorPlugin::aboutToRemoveObject(QObject *obj)
 {
     if (m_clientProxy && m_clientProxy->qmlAdapter() == obj) {
-        m_inspectorUi->disconnected();
+        if (m_inspectorUi->isConnected())
+            m_inspectorUi->disconnected();
         delete m_clientProxy;
         m_clientProxy = 0;
     }