diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp
index 7e440a52a0356c2ce4bc10d01028d5640b89f916..99bb44fc56385f9367ba65ec0acf39baf887d1f9 100644
--- a/src/plugins/debugger/cdb/cdbengine.cpp
+++ b/src/plugins/debugger/cdb/cdbengine.cpp
@@ -1087,9 +1087,10 @@ void CdbEngine::updateLocalVariable(const QByteArray &iname)
     postExtensionCommand(isWatch ? "watches" : "locals", localsArguments, 0, &CdbEngine::handleLocals);
 }
 
-unsigned CdbEngine::debuggerCapabilities() const
+bool CdbEngine::hasCapability(unsigned cap) const
 {
-    return DisassemblerCapability | RegisterCapability | ShowMemoryCapability
+    return cap & (DisassemblerCapability | RegisterCapability
+           | ShowMemoryCapability
            |WatchpointByAddressCapability|JumpToLineCapability|AddWatcherCapability|WatchWidgetsCapability
            |ReloadModuleCapability
            |BreakOnThrowAndCatchCapability // Sort-of: Can break on throw().
@@ -1097,7 +1098,7 @@ unsigned CdbEngine::debuggerCapabilities() const
            |BreakModuleCapability
            |OperateByInstructionCapability
            |RunToLineCapability
-           |MemoryAddressCapability;
+           |MemoryAddressCapability);
 }
 
 void CdbEngine::executeStep()
diff --git a/src/plugins/debugger/cdb/cdbengine.h b/src/plugins/debugger/cdb/cdbengine.h
index 5e2c6d5f15f4308aee63c4a09b6cfa77b54373ba..4ca62ccffb98fcc47f49195b4dca4379c0adf8a2 100644
--- a/src/plugins/debugger/cdb/cdbengine.h
+++ b/src/plugins/debugger/cdb/cdbengine.h
@@ -98,7 +98,7 @@ public:
     virtual void detachDebugger();
     virtual void updateWatchData(const WatchData &data,
                                  const WatchUpdateFlags & flags = WatchUpdateFlags());
-    virtual unsigned debuggerCapabilities() const;
+    virtual bool hasCapability(unsigned cap) const;
     virtual void watchPoint(const QPoint &);
     virtual void setRegisterValue(int regnr, const QString &value);