diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index 270009e8311eec32f6e5393460f1e46e1ae49e3a..94aa4dbb2cef21c8f2b88e3e572383582697cac3 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -198,7 +198,8 @@ void QmlEngine::connectionEstablished()
     }
     connect(watchersModel(),SIGNAL(layoutChanged()),this,SLOT(synchronizeWatchers()));
 
-    notifyEngineRunAndInferiorRunOk();
+    if (state() == EngineRunRequested)
+        notifyEngineRunAndInferiorRunOk();
 }
 
 void QmlEngine::beginConnection()
@@ -247,7 +248,12 @@ void QmlEngine::retryMessageBoxFinished(int result)
         // fall through
     }
     default:
+        if (state() == InferiorRunOk) {
+            notifyInferiorSpontaneousStop();
+            notifyInferiorIll();
+        } else {
         notifyEngineRunFailed();
+        }
         break;
     }
 }