diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index ac30338c39dfc103e501a6487bb4d63ebaddb0ac..d4aa32b821d456723bc7a16e36d81caee482e5ad 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -272,8 +272,7 @@ void QCocoaWindow::setCocoaGeometry(const QRect &rect)
 
     if (m_nsWindow) {
         NSRect bounds = qt_mac_flipRect(rect, window());
-        [m_nsWindow setContentSize : bounds.size];
-        [m_nsWindow setFrameOrigin : bounds.origin];
+        [m_nsWindow setFrame:[m_nsWindow frameRectForContentRect:bounds] display:YES animate:NO];
     } else {
         [m_contentView setFrame : NSMakeRect(rect.x(), rect.y(), rect.width(), rect.height())];
     }