diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index a5652adb90bc1126169644faffbe811c36d21d0a..606cadfc2fbf93b07c3d27bb5aca09cf3ac51d7f 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -4736,7 +4736,10 @@ void GdbEngine::handleAdapterCrashed(const QString &msg)
     // Don't bother with state transitions - this can happen in any state and
     // the end result is always the same, so it makes little sense to find a
     // "path" which does not assert.
-    notifyEngineSetupFailed();
+    if (state() == EngineSetupRequested)
+        notifyEngineSetupFailed();
+    else
+        notifyEngineIll();
 
     // No point in being friendly here ...
     gdbProc()->kill();