diff --git a/src/m_menu.c b/src/m_menu.c
index 3d202e4d173090d443eb57a6cbe573913b5d3352..d5fc5f357a4e24eb7ca81973e9e8cee7a2d086aa 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -7675,6 +7675,18 @@ static void M_DrawLoadGameData(void)
 	INT32 i, savetodraw, x, y, hsep = 90;
 	skin_t *charskin = NULL;
 
+	// Lactozilla: Intentional, because there is
+	// no way to know if those patches were ever
+	// flushed from memory, other than pointers
+	// to nowhere.
+	savselp[0] = W_CachePatchName("SAVEBACK", PU_PATCH);
+	savselp[1] = W_CachePatchName("SAVENONE", PU_PATCH);
+	savselp[2] = W_CachePatchName("ULTIMATE", PU_PATCH);
+
+	savselp[3] = W_CachePatchName("GAMEDONE", PU_PATCH);
+	savselp[4] = W_CachePatchName("BLACXLVL", PU_PATCH);
+	savselp[5] = W_CachePatchName("BLANKLVL", PU_PATCH);
+
 	if (vid.width != BASEVIDWIDTH*vid.dupx)
 		hsep = (hsep*vid.width)/(BASEVIDWIDTH*vid.dupx);
 
@@ -8153,25 +8165,6 @@ static void M_ReadSaveStrings(void)
 		}
 		M_ReadSavegameInfo(i);
 	}
-
-	if (savselp[0]) // never going to have some provided but not all, saves individually checking
-	{
-		W_UnlockCachedPatch(savselp[0]);
-		W_UnlockCachedPatch(savselp[1]);
-		W_UnlockCachedPatch(savselp[2]);
-
-		W_UnlockCachedPatch(savselp[3]);
-		W_UnlockCachedPatch(savselp[4]);
-		W_UnlockCachedPatch(savselp[5]);
-	}
-
-	savselp[0] = W_CachePatchName("SAVEBACK", PU_PATCH);
-	savselp[1] = W_CachePatchName("SAVENONE", PU_PATCH);
-	savselp[2] = W_CachePatchName("ULTIMATE", PU_PATCH);
-
-	savselp[3] = W_CachePatchName("GAMEDONE", PU_PATCH);
-	savselp[4] = W_CachePatchName("BLACXLVL", PU_PATCH);
-	savselp[5] = W_CachePatchName("BLANKLVL", PU_PATCH);
 }
 
 //