diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 4c11211a73cbab65470d6229194d279aa5d6001e..84ef6c33ffc96877a1d6de17629eb06c168f6237 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -539,6 +539,11 @@ void GdbEngine::handleResponse(const QByteArray &buff)
             if (resultClass == "done") {
                 response.resultClass = GdbResultDone;
             } else if (resultClass == "running") {
+                if (state() == InferiorStopped) { // Result of manual command.
+                    m_manager->resetLocation();
+                    setTokenBarrier();
+                    setState(InferiorRunningRequested);
+                }
                 setState(InferiorRunning);
                 showStatusMessage(tr("Running..."));
                 response.resultClass = GdbResultRunning;