diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 18c770cb92ab067e6e195fbd3ff911489101b3ec..85688780f6138dc10ade3e915ff6d6986abc4734 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -824,7 +824,7 @@ void GdbEngine::commandTimeout()
         debugMessage(_("  %1: %2 => %3").arg(key).arg(cmd.command).arg(_(cmd.callbackName)));
     }
     // This is an entirely undefined state, so we just pull the emergency brake.
-    setState(EngineShuttingDown, true);
+    manager()->watchHandler()->endCycle();
     m_gdbProc.kill();
 }