diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 55b9d206776b975b5381472027a9725e0eaa59b9..5090f97485e0bdb19c022775880a7ba36858277d 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -472,9 +472,9 @@ DebuggerRunControl *DebuggerRunControlFactory::doCreate
     (const DebuggerStartParameters &sp0, RunConfiguration *rc, QString *errorMessage)
 {
     TaskHub *th = ProjectExplorerPlugin::instance()->taskHub();
-    th->clearTasks(Core::Id(Debugger::Constants::TASK_CATEGORY_DEBUGGER_DEBUGINFO));
-    th->clearTasks(Core::Id(Debugger::Constants::TASK_CATEGORY_DEBUGGER_TEST));
-    th->clearTasks(Core::Id(Debugger::Constants::TASK_CATEGORY_DEBUGGER_RUNTIME));
+    th->clearTasks(Debugger::Constants::TASK_CATEGORY_DEBUGGER_DEBUGINFO);
+    th->clearTasks(Debugger::Constants::TASK_CATEGORY_DEBUGGER_TEST);
+    th->clearTasks(Debugger::Constants::TASK_CATEGORY_DEBUGGER_RUNTIME);
 
     DebuggerStartParameters sp = sp0;
     if (!debuggerCore()->boolSetting(AutoEnrichParameters)) {
@@ -486,8 +486,6 @@ DebuggerRunControl *DebuggerRunControlFactory::doCreate
             sp.debugSourceLocation.append(base + QLatin1String("qt5base/src/corelib"));
             sp.debugSourceLocation.append(base + QLatin1String("qt5base/src/gui"));
             sp.debugSourceLocation.append(base + QLatin1String("qt5base/src/network"));
-            sp.debugSourceLocation.append(base + QLatin1String("qt5base/src/v8"));
-            sp.debugSourceLocation.append(base + QLatin1String("qt5declarative/src/qml"));
         }
     }
 
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 7c69f233b29101df8134743db85c1d3fa71d752d..8145c93f3c45c13cc34f425d04c0e2a96cb5845b 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -4870,8 +4870,12 @@ void GdbEngine::startGdb(const QStringList &args)
             + " " + it.value().toLocal8Bit());
 
     // Spaces just will not work.
-    foreach (const QString &src, sp.debugSourceLocation)
-        postCommand("directory " + src.toLocal8Bit());
+    foreach (const QString &src, sp.debugSourceLocation) {
+        if (QDir(src).exists())
+            postCommand("directory " + src.toLocal8Bit());
+        else
+            showMessage(_("# directory does not exist: ") + src, LogInput);
+    }
 
     const QByteArray sysroot = sp.sysRoot.toLocal8Bit();
     if (!sysroot.isEmpty()) {