diff --git a/source/core/mainloop.cpp b/source/core/mainloop.cpp
index 5f1ae9b9f..3b691bd6a 100644
--- a/source/core/mainloop.cpp
+++ b/source/core/mainloop.cpp
@@ -121,6 +121,7 @@ void G_BuildTiccmd(ticcmd_t* cmd)
 //
 //
 //==========================================================================
+bool newGameStarted;
 
 static void GameTicker()
 {
@@ -171,6 +172,7 @@ static void GameTicker()
 			break;
 
 		case ga_newgame:
+			newGameStarted = true;
 			FX_StopAllSounds();
 			FX_SetReverb(0);
 			gi->FreeLevelData();
@@ -210,7 +212,8 @@ static void GameTicker()
 			break;
 
 		case ga_autosave:
-			if (gamestate == GS_LEVEL) M_Autosave();
+			if (gamestate == GS_LEVEL && !newGameStarted) M_Autosave();
+			newGameStarted = false;
 			break;
 
 		case ga_level:
diff --git a/source/exhumed/src/status.cpp b/source/exhumed/src/status.cpp
index 5903662cf..2b151d6e0 100644
--- a/source/exhumed/src/status.cpp
+++ b/source/exhumed/src/status.cpp
@@ -954,7 +954,7 @@ public:
         {
             DrawStatus();
        }
-        PrintLevelStats(hud_size == Hud_Nothing ? 0 : 40);
+        PrintLevelStats(hud_size == Hud_Nothing ? 0 : hud_size == Hud_full? 22 : 40);
     }
 };