diff --git a/src/save.c b/src/save.c
index fb3a5cd..98fc75c 100644
--- a/src/save.c
+++ b/src/save.c
@@ -170,9 +170,12 @@ static void load_menu_load(unsigned int wdw, char* str) {
     return;
 
   snprintf(path, PATH_MAX, "%ssaves/%s.ls", lfile_basePath(), save);
-  load_game(path);
+
+  /* Close menus before loading for proper rendering. */
   load_menu_close(wdw, NULL);
   menu_main_close();
+
+  load_game(path);
 }
 
 static void load_menu_delete(unsigned int wdw, char* str) {