diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 7a1d9be0d3371cf023e4f5bfd97109049576a78e..acfb96ec8205b0254099e98dcd79f9a71e022f9b 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -4155,6 +4155,10 @@ bool GdbEngine::startGdb(const QStringList &args, const QString &gdb, const QStr
     postCommand("set width 0");
     postCommand("set height 0");
 
+    // Work around http://bugreports.qt.nokia.com/browse/QTCREATORBUG-2004
+    postCommand("maintenance set internal-warning quit no");
+    postCommand("maintenance set internal-error quit no");
+
     if (m_isMacGdb) {
         postCommand("-gdb-set inferior-auto-start-cfm off");
         postCommand("-gdb-set sharedLibrary load-rules "
diff --git a/src/plugins/debugger/sessionengine.cpp b/src/plugins/debugger/sessionengine.cpp
index a822df35229341bdedd5741e52d5ded782d90413..3aa66dc25cd186b9111f7c84216248c392806a7a 100644
--- a/src/plugins/debugger/sessionengine.cpp
+++ b/src/plugins/debugger/sessionengine.cpp
@@ -68,7 +68,9 @@ void SessionEngine::saveSessionData()
 unsigned SessionEngine::debuggerCapabilities() const
 {
     return DebuggerEngine::debuggerCapabilities()
-            | AddWatcherCapability | WatchpointCapability;
+            | AddWatcherCapability
+            | BreakOnThrowAndCatchCapability
+            | WatchpointCapability;
 }
 
 } // namespace Internal