diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 926a730cd4319544bd6b832df1da8220ab8b151c..f4526977e3124d660a9ef6ffcb0a2ed339be9c2f 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -1782,7 +1782,7 @@ void GdbEngine::setLinuxOsAbi()
 void GdbEngine::detachDebugger()
 {
     CHECK_STATE(InferiorStopOk);
-    QTC_ASSERT(m_startMode != AttachCore, qDebug() << m_startMode);
+    QTC_CHECK(runParameters().startMode != AttachCore);
     DebuggerCommand cmd("detach", ExitRequest);
     cmd.callback = [this](const DebuggerResponse &) {
         CHECK_STATE(InferiorStopOk);
@@ -4242,17 +4242,18 @@ bool GdbEngine::isPlainEngine() const
 
 bool GdbEngine::isCoreEngine() const
 {
-    return m_startMode == AttachCore;
+    return runParameters().startMode == AttachCore;
 }
 
 bool GdbEngine::isRemoteEngine() const
 {
-    return m_startMode == StartRemoteProcess || m_startMode == AttachToRemoteServer;
+    DebuggerStartMode startMode = runParameters().startMode;
+    return startMode == StartRemoteProcess || startMode == AttachToRemoteServer;
 }
 
 bool GdbEngine::isAttachEngine() const
 {
-    return m_startMode == AttachExternal;
+    return runParameters().startMode == AttachExternal;
 }
 
 bool GdbEngine::isTermEngine() const
diff --git a/src/plugins/debugger/gdb/gdbengine.h b/src/plugins/debugger/gdb/gdbengine.h
index 7c306927b51647095be655acc169c4eba9e37e67..97278c4d7a28270e049a7f006d381f0a4f946ced 100644
--- a/src/plugins/debugger/gdb/gdbengine.h
+++ b/src/plugins/debugger/gdb/gdbengine.h
@@ -442,7 +442,6 @@ private: ////////// General Interface //////////
     Utils::QtcProcess m_gdbProc;
     OutputCollector m_outputCollector;
     QString m_errorString;
-    DebuggerStartMode m_startMode = NoStartMode;
 };
 
 } // namespace Internal