diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index f536e20b39a157ec513a31d74ddcd65004afd6d0..56c356711e5ebfc332075aaebd1c69e945206780 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -1754,6 +1754,11 @@ void QCocoaWindow::updateExposedGeometry()
     if (!m_geometryUpdateExposeAllowed)
         return;
 
+    // Do not send incorrect exposes in case the window is not even visible yet.
+    // We might get here as a result of a resize() from QWidget's show(), for instance.
+    if (!window()->isVisible())
+        return;
+
     if (!isWindowExposable())
         return;
 
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index 83e913ad58cd525a9bed6ff34599ea1a74e85bed..052a7cc98f1e3505adbf406f7375bb26d355561d 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -361,12 +361,8 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
     // Send a geometry change event to Qt, if it's ready to handle events
     if (!m_platformWindow->m_inConstructor) {
         QWindowSystemInterface::handleGeometryChange(m_window, geometry);
-        // Do not send incorrect exposes in case the window is not even visible yet.
-        // We might get here as a result of a resize() from QWidget's show(), for instance.
-        if (m_platformWindow->window()->isVisible()) {
-            m_platformWindow->updateExposedGeometry();
-            QWindowSystemInterface::flushWindowSystemEvents();
-        }
+        m_platformWindow->updateExposedGeometry();
+        QWindowSystemInterface::flushWindowSystemEvents();
     }
 }