diff --git a/windows/win.c b/windows/win.c
index 4500a21af77b0d5125315d487d7fe0eeead051e8..99489b16e17bd24d08eede55c49ec9e859974cf0 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -2766,6 +2766,8 @@ HWND WINAPI GetLastActivePopup( HWND hwnd )
     if (!wndPtr) return hwnd;
     retval = wndPtr->hwndLastActive;
     WIN_ReleaseWndPtr(wndPtr);
+    if ((retval != hwnd) && (!IsWindow(retval)))
+       retval = hwnd;
     return retval;
 }