diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index db00eaaa670f252f2a74da1c8f41412ebbe7419b..6dc3e43a6b56be419ed40ca67357a37b4fce9709 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -249,20 +249,22 @@ void DebuggerRunControl::start()
         return;
     }
 
-    foreach (const BreakpointModelId &id, debuggerCore()->breakHandler()->allBreakpointIds()) {
-        if (d->m_engine->breakHandler()->breakpointData(id).enabled
-                && !d->m_engine->acceptsBreakpoint(id)) {
+    if (d->m_engine->startParameters().startMode == StartInternal) {
+        foreach (const BreakpointModelId &id, debuggerCore()->breakHandler()->allBreakpointIds()) {
+            if (d->m_engine->breakHandler()->breakpointData(id).enabled
+                    && !d->m_engine->acceptsBreakpoint(id)) {
 
-            QString warningMessage =
-                    DebuggerPlugin::tr("Some breakpoints cannot be handled by the debugger "
-                                       "languages currently active, and will be ignored.");
+                QString warningMessage =
+                        DebuggerPlugin::tr("Some breakpoints cannot be handled by the debugger "
+                                           "languages currently active, and will be ignored.");
 
-            debuggerCore()->showMessage(warningMessage, LogWarning);
+                debuggerCore()->showMessage(warningMessage, LogWarning);
 
-            QErrorMessage *msgBox = new QErrorMessage(debuggerCore()->mainWindow());
-            msgBox->setAttribute(Qt::WA_DeleteOnClose);
-            msgBox->showMessage(warningMessage);
-            break;
+                QErrorMessage *msgBox = new QErrorMessage(debuggerCore()->mainWindow());
+                msgBox->setAttribute(Qt::WA_DeleteOnClose);
+                msgBox->showMessage(warningMessage);
+                break;
+            }
         }
     }