diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index e27a2972d3ee127868d562d8591fb334fe84207b..f1568171b1d8b76ea496cf59f4b642abd6ba42dc 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -776,9 +776,9 @@ void GdbEngine::postCommandHelper(const GdbCommand &cmd)
             if (state() == InferiorStopping) {
                 if (cmd.flags & LosesChild)
                     setState(InferiorStopping_Kill);
-                debugMessage(_("CHILD ALREADY BEING INTERRUPTED"));
-                // FIXME
-                shutdown();
+                debugMessage(_("CHILD ALREADY BEING INTERRUPTED. STILL HOPING."));
+                // Calling shutdown() here breaks all situations where two
+                // NeedsStop commands are issued in quick succession.
             } else if (state() == InferiorStopping_Kill) {
                 debugMessage(_("CHILD ALREADY BEING INTERRUPTED (KILL PENDING)"));
                 // FIXME