diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 7468b48287f10343ac29c9883479e25405f441f7..4f5978e610c3cb241bde65f8f6c85c23605642b3 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -760,10 +760,12 @@ void DebuggerManager::clearStatusMessage()
     d->m_statusLabel->setText(d->m_lastPermanentStatusMessage);
 }
 
-void DebuggerManager::showStatusMessage(const QString &msg, int timeout)
+void DebuggerManager::showStatusMessage(const QString &msg0, int timeout)
 {
     Q_UNUSED(timeout)
-    showDebuggerOutput(LogStatus, msg);
+    showDebuggerOutput(LogStatus, msg0);
+    QString msg = msg0;
+    msg.replace(QLatin1Char('\n'), QString());
     d->m_statusLabel->setText(QLatin1String("   ") + msg);
     if (timeout > 0) {
         d->m_statusTimer->setSingleShot(true);
diff --git a/src/plugins/debugger/gdb/plaingdbadapter.cpp b/src/plugins/debugger/gdb/plaingdbadapter.cpp
index fb0ce258883bd0e79e52ed508bb7a8185eb39905..05c6b426471c8a47f9692a2c63f5735224ad4c74 100644
--- a/src/plugins/debugger/gdb/plaingdbadapter.cpp
+++ b/src/plugins/debugger/gdb/plaingdbadapter.cpp
@@ -123,8 +123,11 @@ void PlainGdbAdapter::handleFileExecAndSymbols(const GdbResponse &response)
 #endif
         emit inferiorPrepared();
     } else {
-        QString msg = tr("Starting executable failed:\n") +
-            QString::fromLocal8Bit(response.data.findChild("msg").data());
+        QByteArray ba = response.data.findChild("msg").data();
+        QString msg = QString::fromLocal8Bit(ba);
+        // Extend the message a bit in unknown cases.
+        if (!ba.endsWith("File format not recognized"))
+            msg = tr("Starting executable failed:\n") + msg;
         emit inferiorStartFailed(msg);
     }
 }