diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp
index 38b9823d6b..81929afc7b 100644
--- a/src/plugins/platforms/windows/qwindowscontext.cpp
+++ b/src/plugins/platforms/windows/qwindowscontext.cpp
@@ -1337,11 +1337,14 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message,
         // WM_DPICHANGED is sent with a size that avoids resize loops (by
         // snapping back to the previous screen, see QTBUG-65580).
         const bool doResize = resizeOnDpiChanged(platformWindow->window());
+        const auto prcNewWindow = reinterpret_cast<RECT *>(lParam);
+
+        qDebug() << __FUNCTION__ << "WM_DPICHANGED"
+            << platformWindow->window() << *prcNewWindow << doResize;
         if (doResize) {
             platformWindow->setFlag(QWindowsWindow::WithinDpiChanged);
             platformWindow->updateFullFrameMargins();
-            const auto prcNewWindow = reinterpret_cast<RECT *>(lParam);
-            qCDebug(lcQpaWindows) << __FUNCTION__ << "WM_DPICHANGED"
+             qDebug() << __FUNCTION__ << "WM_DPICHANGED"
                 << platformWindow->window() << *prcNewWindow;
             SetWindowPos(hwnd, nullptr, prcNewWindow->left, prcNewWindow->top,
                          prcNewWindow->right - prcNewWindow->left,
diff --git a/src/plugins/platforms/windows/qwindowsscreen.cpp b/src/plugins/platforms/windows/qwindowsscreen.cpp
index cc0f3c1a6e..a3a9f195e7 100644
--- a/src/plugins/platforms/windows/qwindowsscreen.cpp
+++ b/src/plugins/platforms/windows/qwindowsscreen.cpp
@@ -294,6 +294,9 @@ QList<QPlatformScreen *> QWindowsScreen::virtualSiblings() const
 
 void QWindowsScreen::handleChanges(const QWindowsScreenData &newData)
 {
+    static int  n=0;
+    qDebug() << __FUNCTION__ << '#' << n << '>' << name() << newData
+             << "\nDPI:" << m_data.dpi.first << newData.dpi.first;
     m_data.physicalSizeMM = newData.physicalSizeMM;
 
     if (m_data.hMonitor != newData.hMonitor) {
@@ -304,6 +307,8 @@ void QWindowsScreen::handleChanges(const QWindowsScreenData &newData)
     }
 
     if (m_data.geometry != newData.geometry || m_data.availableGeometry != newData.availableGeometry) {
+        qDebug() << __FUNCTION__ << name() << "handleScreenGeometryChange"
+                 << m_data.geometry << newData.geometry;
         m_data.geometry = newData.geometry;
         m_data.availableGeometry = newData.availableGeometry;
         QWindowSystemInterface::handleScreenGeometryChange(screen(),
@@ -311,6 +316,8 @@ void QWindowsScreen::handleChanges(const QWindowsScreenData &newData)
     }
     if (!qFuzzyCompare(m_data.dpi.first, newData.dpi.first)
         || !qFuzzyCompare(m_data.dpi.second, newData.dpi.second)) {
+        qDebug() << __FUNCTION__ << name() << "handleScreenLogicalDotsPerInchChange"
+                 << m_data.dpi << newData.dpi;
         m_data.dpi = newData.dpi;
         QWindowSystemInterface::handleScreenLogicalDotsPerInchChange(screen(),
                                                                      newData.dpi.first,
@@ -321,6 +328,7 @@ void QWindowsScreen::handleChanges(const QWindowsScreenData &newData)
         QWindowSystemInterface::handleScreenOrientationChange(screen(),
                                                               newData.orientation);
     }
+    qDebug()  << __FUNCTION__ << '#' << n++ << '\n';
 }
 
 QRect QWindowsScreen::virtualGeometry(const QPlatformScreen *screen) // cf QScreen::virtualGeometry()
@@ -450,6 +458,7 @@ bool QWindowsScreenManager::isSingleScreen()
 
 bool QWindowsScreenManager::handleDisplayChange(WPARAM wParam, LPARAM lParam)
 {
+    qDebug() << __FUNCTION__ << wParam << lParam;
     const int newDepth = int(wParam);
     const WORD newHorizontalResolution = LOWORD(lParam);
     const WORD newVerticalResolution = HIWORD(lParam);
@@ -541,8 +550,10 @@ bool QWindowsScreenManager::handleScreenChanges()
 {
     // Look for changed monitors, add new ones
     const WindowsScreenDataList newDataList = monitorData();
+    qDebug() << __FUNCTION__ << newDataList.size();
     const bool lockScreen = newDataList.size() == 1 && (newDataList.front().flags & QWindowsScreenData::LockScreen);
     for (const QWindowsScreenData &newData : newDataList) {
+        qDebug() << __FUNCTION__ << newData;
         const int existingIndex = indexOfMonitor(m_screens, newData.name);
         if (existingIndex != -1) {
             m_screens.at(existingIndex)->handleChanges(newData);
@@ -562,6 +573,7 @@ bool QWindowsScreenManager::handleScreenChanges()
                 removeScreen(i);
         }     // for existing screens
     }     // not lock screen
+    qDebug() << __FUNCTION__ << '<';
     return true;
 }
 
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index eb521dac52..bac376e456 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -1870,14 +1870,21 @@ static inline bool equalDpi(const QDpi &d1, const QDpi &d2)
 
 void QWindowsWindow::checkForScreenChanged(ScreenChangeMode mode)
 {
-    if (parent() || QWindowsScreenManager::isSingleScreen())
+
+    if (parent())
+
         return;
+    qDebug() << __FUNCTION__ << "mode=" << mode;
+    if (QWindowsScreenManager::isSingleScreen())
+        return;
+
 
     QPlatformScreen *currentScreen = screen();
     const QWindowsScreen *newScreen =
         QWindowsContext::instance()->screenManager().screenForHwnd(m_data.hwnd);
     if (newScreen == nullptr || newScreen == currentScreen)
         return;
+    qDebug() << __FUNCTION__ << currentScreen << "->" << newScreen;
     // For screens with different DPI: postpone until WM_DPICHANGE
     if (mode == FromGeometryChange
         && !equalDpi(currentScreen->logicalDpi(), newScreen->logicalDpi())) {
