diff --git a/src/plugins/debugger/debuggerconstants.h b/src/plugins/debugger/debuggerconstants.h
index 9b3430bac6854d18d622940ecc64560e21af8e9b..9dedfbef232285e836dabb4d3e56a14aa699252d 100644
--- a/src/plugins/debugger/debuggerconstants.h
+++ b/src/plugins/debugger/debuggerconstants.h
@@ -80,10 +80,9 @@ enum DebuggerState
     DebuggerNotReady,          // Debugger not started
 
     EngineStarting,            // Engine starts
-
-    AdapterStarting,
     EngineStarted,
     EngineStartFailed,
+
     InferiorUnrunnable,         // Used in the core dump adapter
     InferiorStarting,
     // InferiorStarted,         // Use InferiorRunningRequested or InferiorStopped
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 6f31a92e7c86347be8cca93b146670b6952f1b0f..3c9c6272a1740ba9d316c1b1f7b25c491562fc67 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -144,7 +144,6 @@ const char *DebuggerEngine::stateName(int s)
     switch (s) {
         SN(DebuggerNotReady)
         SN(EngineStarting)
-        SN(AdapterStarting)
         SN(EngineStarted)
         SN(EngineStartFailed)
         SN(InferiorStarting)
@@ -909,9 +908,6 @@ static bool isAllowedTransition(int from, int to)
         return to == EngineStarting || to == DebuggerNotReady;
 
     case EngineStarting:
-        return to == AdapterStarting || to == DebuggerNotReady;
-
-    case AdapterStarting:
         return to == EngineStarted || to == EngineStartFailed;
     case EngineStarted:
         return to == InferiorStarting || to == EngineShuttingDown;
@@ -996,7 +992,6 @@ bool DebuggerEngine::debuggerActionsEnabled(DebuggerState state)
         return true;
     case DebuggerNotReady:
     case EngineStarting:
-    case AdapterStarting:
     case EngineStarted:
     case EngineStartFailed:
     case InferiorStartFailed:
diff --git a/src/plugins/debugger/gdb/attachgdbadapter.cpp b/src/plugins/debugger/gdb/attachgdbadapter.cpp
index f1934e979016035cfbd16ace79685c474e7abe80..0a444149cd8339cd23d71c25c033a05639fa80cd 100644
--- a/src/plugins/debugger/gdb/attachgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/attachgdbadapter.cpp
@@ -57,7 +57,6 @@ AttachGdbAdapter::AttachGdbAdapter(GdbEngine *engine, QObject *parent)
 void AttachGdbAdapter::startAdapter()
 {
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(_("TRYING TO START ADAPTER"));
 
     if (!m_engine->startGdb())
diff --git a/src/plugins/debugger/gdb/coregdbadapter.cpp b/src/plugins/debugger/gdb/coregdbadapter.cpp
index 5a755b9d2e85aeca729b46785e6a8bfe958ea875..9019c4c75ef9df4390e3e4f461c4cf880dbac981 100644
--- a/src/plugins/debugger/gdb/coregdbadapter.cpp
+++ b/src/plugins/debugger/gdb/coregdbadapter.cpp
@@ -60,7 +60,6 @@ CoreGdbAdapter::CoreGdbAdapter(GdbEngine *engine, QObject *parent)
 void CoreGdbAdapter::startAdapter()
 {
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(_("TRYING TO START ADAPTER"));
 
     if (!m_engine->startGdb())
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index b3f6f86cc196c59506c7467ee5100c928057bb0d..407391d15dcff70445036b41aa01006dcec64497 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -122,7 +122,6 @@ QByteArray GdbEngine::tooltipIName(const QString &exp)
 static bool stateAcceptsGdbCommands(DebuggerState state)
 {
     switch (state) {
-    case AdapterStarting:
     case EngineStarted:
     case EngineStartFailed:
     case InferiorUnrunnable:
@@ -142,7 +141,7 @@ static bool stateAcceptsGdbCommands(DebuggerState state)
     case EngineStarting:
     case InferiorStopFailed:
     case EngineShuttingDown:
-        break;
+        return false;
     }
     return false;
 }
@@ -1629,13 +1628,12 @@ void GdbEngine::shutdown()
     }
     switch (state()) {
     case DebuggerNotReady: // Nothing to do! :)
-    case EngineStarting: // We can't get here, really
     case InferiorShuttingDown: // Will auto-trigger further shutdown steps
     case EngineShuttingDown: // Do not disturb! :)
     case InferiorRunningRequested_Kill:
     case InferiorStopping_Kill:
         break;
-    case AdapterStarting: // GDB is up, adapter is "doing something"
+    case EngineStarting: // GDB is up, adapter is "doing something"
         setState(EngineStartFailed);
         m_gdbAdapter->shutdown();
         // fall-through
@@ -3085,7 +3083,6 @@ void GdbEngine::activateSnapshot2()
     // Otherwise the stack data might be stale.
     // See http://sourceware.org/bugzilla/show_bug.cgi?id=1124.
     setState(EngineStarting);
-    setState(AdapterStarting);
     postCommand("set stack-cache off");
     handleAdapterStarted();
 }
diff --git a/src/plugins/debugger/gdb/localplaingdbadapter.cpp b/src/plugins/debugger/gdb/localplaingdbadapter.cpp
index 225a8c3b03c2c4906bdd3a2fb588dcebd21d0f4d..c3b35325b39a34608fa21cab887fa176d9bd8bf7 100644
--- a/src/plugins/debugger/gdb/localplaingdbadapter.cpp
+++ b/src/plugins/debugger/gdb/localplaingdbadapter.cpp
@@ -69,7 +69,6 @@ AbstractGdbAdapter::DumperHandling LocalPlainGdbAdapter::dumperHandling() const
 void LocalPlainGdbAdapter::startAdapter()
 {
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(_("TRYING TO START ADAPTER"));
 
     QStringList gdbArgs;
diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
index 686a740806ba9598119b035e364a99d4fe5e1321..f4a19d47d98287e99c63438420a36bd94d546f54 100644
--- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
+++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
@@ -85,7 +85,6 @@ AbstractGdbAdapter::DumperHandling RemoteGdbServerAdapter::dumperHandling() cons
 void RemoteGdbServerAdapter::startAdapter()
 {
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(_("TRYING TO START ADAPTER"));
 
     // FIXME: make asynchroneous
diff --git a/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp b/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
index 18a9e90c1ff34a67876b6aa11238ff8f801cc4e4..321dc86a823c32fb07a4496c68b4dc1fdc67fecf 100644
--- a/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
+++ b/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
@@ -47,7 +47,6 @@ RemotePlainGdbAdapter::RemotePlainGdbAdapter(GdbEngine *engine,
 void RemotePlainGdbAdapter::startAdapter()
 {
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(QLatin1String("TRYING TO START ADAPTER"));
 
     if (!startParameters().workingDirectory.isEmpty())
diff --git a/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp b/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
index e5bfb3f3365c7f6ed44f2fe49e5fefbefe0f7508..3691e7db4dc2bf05fd18d461c56ef47c78ea1642 100644
--- a/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
@@ -330,7 +330,7 @@ void TcfTrkGdbAdapter::startGdb()
 void TcfTrkGdbAdapter::tcftrkDeviceError(const QString  &errorString)
 {
     logMessage(errorString);
-    if (state() == AdapterStarting) {
+    if (state() == EngineStarting) {
         emit adapterStartFailed(errorString, QString());
     } else {
         emit adapterCrashed(errorString);
@@ -949,7 +949,6 @@ void TcfTrkGdbAdapter::startAdapter()
     m_symbolFile.replace(QLatin1Char('\\'), QLatin1Char('/'));
     // Start
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(_("TRYING TO START ADAPTER"));
     logMessage(QLatin1String("### Starting TcfTrkGdbAdapter"));
 
diff --git a/src/plugins/debugger/gdb/termgdbadapter.cpp b/src/plugins/debugger/gdb/termgdbadapter.cpp
index 1cbe7434fb29fa92254f7af393b0a555286a847a..428db305d287f47e2ea4ee914e997066fa627078 100644
--- a/src/plugins/debugger/gdb/termgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/termgdbadapter.cpp
@@ -82,7 +82,6 @@ AbstractGdbAdapter::DumperHandling TermGdbAdapter::dumperHandling() const
 void TermGdbAdapter::startAdapter()
 {
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(_("TRYING TO START ADAPTER"));
 
 // Currently, adapters are not re-used
@@ -112,7 +111,7 @@ void TermGdbAdapter::startAdapter()
 
 void TermGdbAdapter::handleInferiorStarted()
 {
-    QTC_ASSERT(state() == AdapterStarting, qDebug() << state());
+    QTC_ASSERT(state() == EngineStarting, qDebug() << state());
     emit adapterStarted();
 }
 
@@ -173,7 +172,7 @@ void TermGdbAdapter::stubMessage(const QString &msg, bool)
 void TermGdbAdapter::stubExited()
 {
     showMessage(_("STUB EXITED"));
-    if (state() != AdapterStarting // From previous instance
+    if (state() != EngineStarting // From previous instance
         && state() != EngineShuttingDown && state() != DebuggerNotReady)
         emit adapterCrashed(QString());
 }
diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp
index 350403adbe3433490125cf05e5422836f86996ec..0c8ac5415eb209e3415dd7e10f881a611e855ed4 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp
@@ -1502,7 +1502,6 @@ void TrkGdbAdapter::startAdapter()
     m_symbolFile.replace(QLatin1Char('\\'), QLatin1Char('/'));
     // Start
     QTC_ASSERT(state() == EngineStarting, qDebug() << state());
-    setState(AdapterStarting);
     showMessage(_("TRYING TO START ADAPTER"));
     logMessage(QLatin1String("### Starting TrkGdbAdapter"));
 
diff --git a/src/plugins/debugger/pdb/pdbengine.cpp b/src/plugins/debugger/pdb/pdbengine.cpp
index 46d3ce0012eea3aec417a57007e74aa9b9538fda..36d2edd474b24fd87dc4cae415b43750802ab0f8 100644
--- a/src/plugins/debugger/pdb/pdbengine.cpp
+++ b/src/plugins/debugger/pdb/pdbengine.cpp
@@ -141,7 +141,6 @@ void PdbEngine::exitDebugger()
 void PdbEngine::startDebugger()
 {
     setState(EngineStarting);
-    setState(AdapterStarting);
 
     m_scriptFileName = QFileInfo(startParameters().executable).absoluteFilePath();
     QFile scriptFile(m_scriptFileName);
diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index a462a93fab79735e1feccccf2e8d95ffe6ed8a1d..3ce84f33a603fcac97cffdf6a68dbd570e2f4762 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -249,7 +249,6 @@ void QmlEngine::startDebugger()
     connect(&m_proc, SIGNAL(readyReadStandardError()),
         SLOT(readProcStandardError()));
 
-    setState(AdapterStarting);
     m_proc.setEnvironment(env.toStringList());
     m_proc.setWorkingDirectory(sp.workingDirectory);
     m_proc.start(sp.executable, sp.processArgs);
diff --git a/src/plugins/debugger/script/scriptengine.cpp b/src/plugins/debugger/script/scriptengine.cpp
index d138216dd00c7069801e5919eb644f9e64e988af..6309e2aefcd336e71e620054abbc40dc3919b26f 100644
--- a/src/plugins/debugger/script/scriptengine.cpp
+++ b/src/plugins/debugger/script/scriptengine.cpp
@@ -234,7 +234,6 @@ void ScriptEngine::startDebugger()
     showMessage(_("STARTING SCRIPT DEBUGGER"), LogMisc);
     QTC_ASSERT(state() == DebuggerNotReady, setState(DebuggerNotReady));
     setState(EngineStarting);
-    setState(AdapterStarting);
     if (m_scriptEngine.isNull())
         m_scriptEngine = Core::ICore::instance()->scriptManager()->scriptEngine();
     if (!m_scriptAgent)