diff --git a/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp b/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
index 6aca47656b59b74fec0ca82251093234abbbf863..d9a370b200823824188c5216578b4ee8cfd29d83 100644
--- a/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
+++ b/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
@@ -68,9 +68,7 @@ void tst_qmlplugindump::initTestCase()
 {
     qmlplugindumpPath = QLibraryInfo::location(QLibraryInfo::BinariesPath);
 
-#if defined(Q_OS_MAC)
-    qmlplugindumpPath += QLatin1String("/qmlplugindump.app/Contents/MacOS/qmlplugindump");
-#elif defined(Q_OS_WIN)
+#if defined(Q_OS_WIN)
     qmlplugindumpPath += QLatin1String("/qmlplugindump.exe");
 #else
     qmlplugindumpPath += QLatin1String("/qmlplugindump");
diff --git a/tools/qmlplugindump/qmlplugindump.pro b/tools/qmlplugindump/qmlplugindump.pro
index 42d17a72cc9365af1330c141025ce79f1089bc79..0829173abe985e894a86890b47d5a2c777600980 100644
--- a/tools/qmlplugindump/qmlplugindump.pro
+++ b/tools/qmlplugindump/qmlplugindump.pro
@@ -1,12 +1,5 @@
 QT += qml qml-private quick-private core-private
 
-#
-# qmlplugindump is an applicaton bundle on the mac
-# so that we can include an Info.plist, which is needed
-# to surpress qmlplugindump popping up in the dock
-# when launched.
-#
-
 CONFIG += qpa_minimal_plugin
 
 SOURCES += \
@@ -16,7 +9,12 @@ SOURCES += \
 HEADERS += \
     qmlstreamwriter.h
 
-OTHER_FILES += Info.plist
-macx: QMAKE_INFO_PLIST = Info.plist
+mac {
+    # Prevent qmlplugindump from popping up in the dock when launched.
+    # We embed the Info.plist file, so the application doesn't need to
+    # be a bundle.
+    QMAKE_LFLAGS += -sectcreate __TEXT __info_plist $$shell_quote($$PWD/Info.plist)
+    CONFIG -= app_bundle
+}
 
 load(qt_tool)