diff --git a/present/present_screen.c b/present/present_screen.c
index c7e37c5fdf9c68035df37e8c54a8a685cbebaaaf..cdc0072f5ace0cdbb83ff782681a698cf2d54715 100644
--- a/present/present_screen.c
+++ b/present/present_screen.c
@@ -178,8 +178,14 @@ present_config_notify(WindowPtr window,
     int ret;
     ScreenPtr screen = window->drawable.pScreen;
     present_screen_priv_ptr screen_priv = present_screen_priv(screen);
+    int pw = w, ph = h;
 
-    present_send_config_notify(window, x, y, w, h, bw, sibling);
+    if (wOwnerSized(window)) {
+        pw = wOwnerWidth(window);
+        ph = wOwnerHeight(window);
+    }
+
+    present_send_config_notify(window, x, y, pw, ph, bw, sibling);
 
     unwrap(screen_priv, screen, ConfigNotify);
     if (screen->ConfigNotify)