diff --git a/windows/mdi.c b/windows/mdi.c
index d482e48c8e680ea3e87aa34d24388c9d080688f3..88ed7f948c5b8d23923f21f8c83fe6000e4b6e6c 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -660,8 +660,6 @@ static LRESULT MDIDestroyChild( WND *w_parent, MDICLIENTINFO *ci,
 
     if( childPtr )
     {
-        MDI_MenuDeleteItem(w_parent, child);
-
         if( child == ci->hwndActiveChild )
         {
 	    MDI_SwitchActiveChild(parent, child, TRUE);
@@ -678,7 +676,9 @@ static LRESULT MDIDestroyChild( WND *w_parent, MDICLIENTINFO *ci,
 
                 MDI_ChildActivate(w_parent, 0);
 	    }
-	}
+        }
+
+        MDI_MenuDeleteItem(w_parent, child);
 
         WIN_ReleaseWndPtr(childPtr);