diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc
index 198aad2ed463f5a23c921b1b68491a3d9905e869..c7de2e6d76def0e83e319226d541260a3706b58b 100644
--- a/doc/qtcreator.qdoc
+++ b/doc/qtcreator.qdoc
@@ -1297,7 +1297,10 @@
                 When building \e{Qt Creator} using the \e{Microsoft Visual C++ Compiler},
                 the location \c{"%ProgramFiles%\Debugging Tools for Windows"} will be checked
                 for the required include files.
-                \
+
+                \note As of version 1.2, the command line option \c{-enable-cdb} has to be passed
+                to Qt Creator to enable support for this engine.
+
     \endtable
 */
 
diff --git a/src/plugins/debugger/Debugger.pluginspec b/src/plugins/debugger/Debugger.pluginspec
index 497520d69aa966d6ca81282b01165bf1444f166d..da8d04450ff51011b6a4c109238193a8b2128f55 100644
--- a/src/plugins/debugger/Debugger.pluginspec
+++ b/src/plugins/debugger/Debugger.pluginspec
@@ -24,4 +24,7 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license>
         <dependency name="Core" version="1.1.80"/>
         <dependency name="Find" version="1.1.80"/>
     </dependencyList>
+    <argumentList>
+        <argument name="-enable-cdb"/>
+    </argumentList>
 </plugin>
diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 5f8f07aed0ec993e4049ddf7d2e5f763a630f2eb..fc5f3371f57f07245bc78df45c06140a0c0cc302 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -148,9 +148,9 @@ extern IDebuggerEngine *createWinEngine(DebuggerManager *)
 #endif
 extern IDebuggerEngine *createScriptEngine(DebuggerManager *parent);
 
-DebuggerManager::DebuggerManager()
+DebuggerManager::DebuggerManager(const QStringList &arguments)
 {
-    init();
+    init(arguments);
 }
 
 DebuggerManager::~DebuggerManager()
@@ -160,7 +160,7 @@ DebuggerManager::~DebuggerManager()
     delete scriptEngine;
 }
 
-void DebuggerManager::init()
+void DebuggerManager::init(const QStringList &arguments)
 {
     m_status = -1;
     m_busy = false;
@@ -427,7 +427,8 @@ void DebuggerManager::init()
 
     setStatus(DebuggerProcessNotReady);
     gdbEngine = createGdbEngine(this);
-    winEngine = createWinEngine(this);
+    if (arguments.contains(QLatin1String("-enable-cdb")))
+        winEngine = createWinEngine(this);
     scriptEngine = createScriptEngine(this);
     setDebuggerType(GdbDebugger);
     if (Debugger::Constants::Internal::debug)
diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h
index b9709a68fa59f1fe498b8af4b191b2722c81b53c..b6cf4b78f4022e3df4e8df56f6a1a18cbae40888 100644
--- a/src/plugins/debugger/debuggermanager.h
+++ b/src/plugins/debugger/debuggermanager.h
@@ -178,7 +178,7 @@ class DebuggerManager : public QObject,
     Q_OBJECT
 
 public:
-    DebuggerManager();
+    DebuggerManager(const QStringList &arguments);
     ~DebuggerManager();
 
     IDebuggerManagerAccessForEngines *engineInterface();
@@ -341,7 +341,7 @@ public:
     bool m_useTerminal;
 
 private:
-    void init();
+    void init(const QStringList &arguments);
     void setDebuggerType(DebuggerType type);
     void runTest(const QString &fileName);
     QDockWidget *createDockForWidget(QWidget *widget);
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 8a1cb6baca77baba3ed1206640ec2c2c11c5a9d9..90cb7bd1f790047bb6626f159e692aa229488992 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -470,7 +470,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
     Q_UNUSED(arguments);
     Q_UNUSED(errorMessage);
 
-    m_manager = new DebuggerManager;
+    m_manager = new DebuggerManager(arguments);
 
     ICore *core = ICore::instance();
     QTC_ASSERT(core, return false);