diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 8725e4fb788fe3e064b7b31197c4a735f3208c29..328ceee54bb550535859cd02f6791bc13f61ff11 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -555,11 +555,6 @@ bool QmlRunControl::isRunning() const
 
 void QmlRunControl::slotBringApplicationToForeground(qint64 pid)
 {
-    if (m_debugMode) {
-        Core::ICore *core = Core::ICore::instance();
-        core->modeManager()->activateMode(QLatin1String("QML_INSPECT_MODE"));
-    }
-
     bringApplicationToForeground(pid);
 }
 
@@ -571,6 +566,11 @@ void QmlRunControl::slotError(const QString &err)
 
 void QmlRunControl::slotAddToOutputWindow(const QString &line)
 {
+    if (m_debugMode && line.startsWith("QmlDebugServer: Waiting for connection")) {
+        Core::ICore *core = Core::ICore::instance();
+        core->modeManager()->activateMode(QLatin1String("QML_INSPECT_MODE"));
+    }
+
     emit addToOutputWindowInline(this, line);
 }