diff --git a/src/stratagus/mainloop.cpp b/src/stratagus/mainloop.cpp
index 1fb404ab9..255444d3a 100644
--- a/src/stratagus/mainloop.cpp
+++ b/src/stratagus/mainloop.cpp
@@ -797,6 +797,12 @@ global void GameMainLoop(void)
 	}
     }
 
+    if( Callbacks==&MenuCallbacks ) {
+	while( CurrentMenu ) {
+	    EndMenu();
+	}
+    }
+
     //
     //	Game over
     //