diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 00b0c464dfc7dae5da53407eede6505deb08e46a..54bd654ce524e718b964cfda76a94e6590aac1aa 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -1183,8 +1183,6 @@ void QGuiApplicationPrivate::createPlatformIntegration()
 
     if (!icon.isEmpty())
         forcedWindowIcon = QDir::isAbsolutePath(icon) ? QIcon(icon) : QIcon::fromTheme(icon);
-
-    QHighDpiScaling::updateHighDpiScaling();
 }
 
 /*!
@@ -1212,6 +1210,10 @@ void QGuiApplicationPrivate::eventDispatcherReady()
         createPlatformIntegration();
 
     platform_integration->initialize();
+
+    // Do this here in order to play nice with platforms that add screens only
+    // in initialize().
+    QHighDpiScaling::updateHighDpiScaling();
 }
 
 void QGuiApplicationPrivate::init()