diff --git a/src/console.c b/src/console.c
index ba5ba71df93258b78af298b8be6bc87c5a8521dd..890d424fa697251f35f73a5e9630a53b5606c78b 100644
--- a/src/console.c
+++ b/src/console.c
@@ -1615,10 +1615,7 @@ void CON_Drawer(void)
 		return;
 
 	if (needpatchrecache)
-	{
-		W_FlushCachedPatches();
 		HU_LoadGraphics();
-	}
 
 	if (con_recalc)
 	{
diff --git a/src/d_main.c b/src/d_main.c
index 15d3c80411e42c416d52655b7b526cb82e1cfc70..9891a525c78157b5aa0946d86db699d50e2811a3 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -594,18 +594,10 @@ static void D_Display(void)
 	needpatchrecache = false;
 }
 
-// Lactozilla: Check the renderer's state
-// after a possible renderer switch.
 void D_CheckRendererState(void)
 {
-	// flush all patches from memory
-	// (also frees memory tagged with PU_CACHE)
-	// (which are not necessarily patches but I don't care)
 	if (needpatchflush)
 		Z_FlushCachedPatches();
-
-	// some patches have been freed,
-	// so cache them again
 	if (needpatchrecache)
 		R_ReloadHUDGraphics();
 }
diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c
index b998b3360f20d187278d05e840f6ee5d77f8809b..5f364a3c5b4d6d5b6834df4bf545e2c2deba9ba5 100644
--- a/src/hardware/hw_cache.c
+++ b/src/hardware/hw_cache.c
@@ -971,9 +971,6 @@ static void HWR_CacheTextureAsFlat(GLMipmap_t *grMipmap, INT32 texturenum)
 	UINT8 *converted;
 	size_t size;
 
-	if (needpatchflush)
-		W_FlushCachedPatches();
-
 	// setup the texture info
 #ifdef GLIDE_API_COMPATIBILITY
 	grMipmap->grInfo.smallLodLog2 = GR_LOD_LOG2_64;
@@ -1000,9 +997,6 @@ void HWR_LiterallyGetFlat(lumpnum_t flatlumpnum)
 	if (flatlumpnum == LUMPERROR)
 		return;
 
-	if (needpatchflush)
-		W_FlushCachedPatches();
-
 	grmip = HWR_GetCachedGLPatch(flatlumpnum)->mipmap;
 	if (!grmip->downloaded && !grmip->grInfo.data)
 		HWR_CacheFlat(grmip, flatlumpnum);
@@ -1133,9 +1127,6 @@ static void HWR_LoadMappedPatch(GLMipmap_t *grmip, GLPatch_t *gpatch)
 // -----------------+
 void HWR_GetPatch(GLPatch_t *gpatch)
 {
-	if (needpatchflush)
-		W_FlushCachedPatches();
-
 	// is it in hardware cache
 	if (!gpatch->mipmap->downloaded && !gpatch->mipmap->grInfo.data)
 	{
@@ -1166,9 +1157,6 @@ void HWR_GetMappedPatch(GLPatch_t *gpatch, const UINT8 *colormap)
 {
 	GLMipmap_t *grmip, *newmip;
 
-	if (needpatchflush)
-		W_FlushCachedPatches();
-
 	if (colormap == colormaps || colormap == NULL)
 	{
 		// Load the default (green) color in doom cache (temporary?) AND hardware cache
@@ -1292,13 +1280,7 @@ static void HWR_DrawPicInCache(UINT8 *block, INT32 pblockwidth, INT32 pblockheig
 // -----------------+
 GLPatch_t *HWR_GetPic(lumpnum_t lumpnum)
 {
-	GLPatch_t *grpatch;
-
-	if (needpatchflush)
-		W_FlushCachedPatches();
-
-	grpatch = HWR_GetCachedGLPatch(lumpnum);
-
+	GLPatch_t *grpatch = HWR_GetCachedGLPatch(lumpnum);
 	if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data)
 	{
 		pic_t *pic;
@@ -1481,13 +1463,7 @@ static void HWR_CacheFadeMask(GLMipmap_t *grMipmap, lumpnum_t fademasklumpnum)
 
 void HWR_GetFadeMask(lumpnum_t fademasklumpnum)
 {
-	GLMipmap_t *grmip;
-
-	if (needpatchflush)
-		W_FlushCachedPatches();
-
-	grmip = HWR_GetCachedGLPatch(fademasklumpnum)->mipmap;
-
+	GLMipmap_t *grmip = HWR_GetCachedGLPatch(fademasklumpnum)->mipmap;
 	if (!grmip->downloaded && !grmip->grInfo.data)
 		HWR_CacheFadeMask(grmip, fademasklumpnum);
 
diff --git a/src/hu_stuff.c b/src/hu_stuff.c
index 073b21b9221656f40d2ec23e557ced4c76952446..cf0204016f7984e369dc1ac2e0fc01b2a6fce913 100644
--- a/src/hu_stuff.c
+++ b/src/hu_stuff.c
@@ -2100,9 +2100,6 @@ static void HU_DrawDemoInfo(void)
 //
 void HU_Drawer(void)
 {
-	if (needpatchrecache)
-		R_ReloadHUDGraphics();
-
 #ifndef NONET
 	// draw chat string plus cursor
 	if (chat_on)
diff --git a/src/m_menu.c b/src/m_menu.c
index 62bea7ae0bffdb2a5733627c0248b95f28c78e03..44ce674b4ab3fae282ddccb00027ed188eef62b3 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -8641,8 +8641,6 @@ void M_ForceSaveSlotSelected(INT32 sslot)
 // ================
 // CHARACTER SELECT
 // ================
-
-// lactozilla: sometimes the renderer changes and these patches don't exist anymore
 static void M_CacheCharacterSelectEntry(INT32 i, INT32 skinnum)
 {
 	if (!(description[i].picname[0]))
@@ -8874,7 +8872,6 @@ static void M_DrawSetupChoosePlayerMenu(void)
 	INT32 x, y;
 	INT32 w = (vid.width/vid.dupx);
 
-	// lactozilla: the renderer changed so recache patches
 	if (needpatchrecache)
 		M_CacheCharacterSelect();
 
diff --git a/src/r_main.c b/src/r_main.c
index 4b044c6cc7b3b886eaf3f6d018d6beaaa59cbef6..0942d39d096ad994ee715dc7c7690d76c0457087 100644
--- a/src/r_main.c
+++ b/src/r_main.c
@@ -1176,7 +1176,6 @@ void R_RenderPlayerView(player_t *player)
 	free(masks);
 }
 
-// Lactozilla: Renderer switching
 #ifdef HWRENDER
 void R_InitHardwareMode(void)
 {
@@ -1190,7 +1189,6 @@ void R_InitHardwareMode(void)
 
 void R_ReloadHUDGraphics(void)
 {
-	CONS_Debug(DBG_RENDER, "R_ReloadHUDGraphics()...\n");
 	ST_LoadGraphics();
 	HU_LoadGraphics();
 	ST_ReloadSkinFaceGraphics();
diff --git a/src/w_wad.c b/src/w_wad.c
index 44a4854f8730a8584455671772e3ceac6b2cab62..ed98e4ad1b3f45d682141ec0c704b880d7f89080 100644
--- a/src/w_wad.c
+++ b/src/w_wad.c
@@ -1465,21 +1465,6 @@ boolean W_IsPatchCached(lumpnum_t lumpnum, void *ptr)
 	return W_IsPatchCachedPWAD(WADFILENUM(lumpnum),LUMPNUM(lumpnum), ptr);
 }
 
-void W_FlushCachedPatches(void)
-{
-	if (needpatchflush)
-	{
-		Z_FreeTag(PU_CACHE);
-		Z_FreeTag(PU_PATCH);
-		Z_FreeTag(PU_HUDGFX);
-		Z_FreeTag(PU_HWRPATCHINFO);
-		Z_FreeTag(PU_HWRMODELTEXTURE);
-		Z_FreeTag(PU_HWRCACHE);
-		Z_FreeTags(PU_HWRCACHE_UNLOCKED, PU_HWRPATCHINFO_UNLOCKED);
-	}
-	needpatchflush = false;
-}
-
 // ==========================================================================
 // W_CacheLumpName
 // ==========================================================================
@@ -1509,9 +1494,6 @@ void *W_CachePatchNumPwad(UINT16 wad, UINT16 lump, INT32 tag)
 	GLPatch_t *grPatch;
 #endif
 
-	if (needpatchflush)
-		W_FlushCachedPatches();
-
 	if (!TestValidLump(wad, lump))
 		return NULL;
 
diff --git a/src/w_wad.h b/src/w_wad.h
index aca67c00f3df5daafe0bf92a7d6203f147427b19..8008a577cf9f5f92631bdd91d7a440ca2688dd68 100644
--- a/src/w_wad.h
+++ b/src/w_wad.h
@@ -196,7 +196,6 @@ void *W_CachePatchNumPwad(UINT16 wad, UINT16 lump, INT32 tag); // return a patch
 void *W_CachePatchNum(lumpnum_t lumpnum, INT32 tag); // return a patch_t
 
 void W_UnlockCachedPatch(void *patch);
-void W_FlushCachedPatches(void);
 
 void W_VerifyFileMD5(UINT16 wadfilenum, const char *matchmd5);
 
diff --git a/src/z_zone.c b/src/z_zone.c
index d02717007ea349174b37c281e78a59ed2378a03f..edff5a60ead49483aa7dd6b66d2ab792f244bf69 100644
--- a/src/z_zone.c
+++ b/src/z_zone.c
@@ -498,13 +498,9 @@ void Z_FreeTags(INT32 lowtag, INT32 hightag)
 // Utility functions
 // -----------------
 
-// for renderer switching, free a bunch of stuff
 boolean needpatchflush = false;
 boolean needpatchrecache = false;
 
-// flush all patches from memory
-// (also frees memory tagged with PU_CACHE)
-// (which are not necessarily patches but I don't care)
 void Z_FlushCachedPatches(void)
 {
 	CONS_Debug(DBG_RENDER, "Z_FlushCachedPatches()...\n");
@@ -518,7 +514,6 @@ void Z_FlushCachedPatches(void)
 	Z_FreeTag(PU_HWRPATCHINFO_UNLOCKED);
 }
 
-// happens before a renderer switch
 void Z_PreparePatchFlush(void)
 {
 	CONS_Debug(DBG_RENDER, "Z_PreparePatchFlush()...\n");