diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp
index ee121488df..9b6434d026 100644
--- a/src/misc_gui.cpp
+++ b/src/misc_gui.cpp
@@ -1634,7 +1634,7 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
 	case WE_DESTROY:
 		/* pause is only used in single-player, non-editor mode, non menu mode */
 		if (!_networking && _game_mode != GM_EDITOR && _game_mode != GM_MENU) {
-			DoCommandP(0, 0, 0, NULL, CMD_PAUSE);
+			if (_pause_game >= 0) DoCommandP(0, 0, 0, NULL, CMD_PAUSE);
 		}
 		FiosFreeSavegameList();
 		ClrBit(_no_scroll, SCROLL_SAVE);
@@ -1726,7 +1726,7 @@ void ShowSaveLoadDialog(SaveLoadDialogMode mode)
 	/* pause is only used in single-player, non-editor mode, non-menu mode. It
 	 * will be unpaused in the WE_DESTROY event handler. */
 	if (_game_mode != GM_MENU && !_networking && _game_mode != GM_EDITOR) {
-		DoCommandP(0, 1, 0, NULL, CMD_PAUSE);
+		if (_pause_game >= 0) DoCommandP(0, 1, 0, NULL, CMD_PAUSE);
 	}
 
 	BuildFileList();