diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index f2e6eb8d7feef3de6f0fe1b1e7287f7b1d940a47..66935a4d12113a699830f43256217607437f2442 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -331,7 +331,11 @@ void DebuggerRunControl::createEngine(const DebuggerStartParameters &sp)
     QString errorMessage;
     QString settingsIdHint;
 
-    if (sp.executable.endsWith(_("qmlviewer")) || sp.executable.endsWith(_("qmlobserver")))
+    bool isQmlExecutable = sp.executable.endsWith(_("qmlviewer")) || sp.executable.endsWith(_("qmlobserver"));
+#ifdef Q_OS_MAC
+    isQmlExecutable = sp.executable.endsWith(_("QMLViewer.app")) || sp.executable.endsWith(_("QMLObserver.app"));
+#endif
+    if (isQmlExecutable)
         engineType = QmlEngineType;
     else if (sp.executable.endsWith(_(".js")))
         engineType = ScriptEngineType;