diff --git a/src/m_menu.c b/src/m_menu.c
index a158cd9559f074b2e7a2ef4bad7b3be575635db3..b983546cc362fb6f43dfb341711abe164bdc0731 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -2582,7 +2582,7 @@ boolean M_Responder(event_t *ev)
 				{
 					if (((currentMenu->menuitems[itemOn].status & IT_CALLTYPE) & IT_CALL_NOTMODIFIED) && modifiedgame && !savemoddata)
 					{
-						S_StartSound(NULL, sfx_menu1);
+						S_StartSound(NULL, sfx_skid);
 						M_StartMessage(M_GetText("This cannot be done in a modified game.\n\n(Press a key)\n"), NULL, MM_NOTHING);
 						return true;
 					}
@@ -6565,7 +6565,13 @@ static void M_HandleLoadSave(INT32 choice)
 				S_StartSound(NULL, sfx_skid);
 				M_StartMessage("Are you sure you want to play\n\x85ultimate mode\x80? It isn't remotely fair,\nand you don't even get an emblem for it.\n\n(Press 'Y' to confirm)\n",M_SaveGameUltimateResponse,MM_YESNO);
 			}
-			else if (savegameinfo[saveSlotSelected-1].lives != -666) // don't allow loading of "bad saves"
+			else if (saveSlotSelected != NOSAVESLOT && savegameinfo[saveSlotSelected-1].lives == -42 && !(!modifiedgame || savemoddata))
+			{
+				loadgamescroll = 0;
+				S_StartSound(NULL, sfx_skid);
+				M_StartMessage(M_GetText("This cannot be done in a modified game.\n\n(Press a key)\n"), NULL, MM_NOTHING);
+			}
+			else if (saveSlotSelected == NOSAVESLOT || savegameinfo[saveSlotSelected-1].lives != -666) // don't allow loading of "bad saves"
 			{
 				loadgamescroll = 0;
 				S_StartSound(NULL, sfx_menu1);