diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c
index 6f375bdab8419420e73f9910a09951a032ba9294..c47833187b1af03f7308d3844fbcce51baa22bd0 100644
--- a/src/hardware/hw_cache.c
+++ b/src/hardware/hw_cache.c
@@ -888,10 +888,6 @@ GLTexture_t *HWR_GetTexture(INT32 tex)
 		I_Error("HWR_GetTexture: tex >= numtextures\n");
 #endif
 
-	// Lactozilla: Renderer switching
-	if (needpatchrecache && (!gr_textures))
-		HWR_LoadTextures(gr_numtextures);
-
 	// Every texture in memory, stored in the
 	// hardware renderer's bit depth format. Wow!
 	grtex = &gr_textures[tex];
diff --git a/src/r_main.c b/src/r_main.c
index 71348039797fa948d0bbe25806ba43dbb6c777be..38777a521b37a5e8e85860812b317de774215cd2 100644
--- a/src/r_main.c
+++ b/src/r_main.c
@@ -1162,11 +1162,9 @@ void R_InitHardwareMode(void)
 {
 	HWR_AddSessionCommands();
 	HWR_Switch();
+	HWR_LoadTextures(numtextures);
 	if (gamestate == GS_LEVEL || (gamestate == GS_TITLESCREEN && titlemapinaction))
-	{
 		HWR_SetupLevel();
-		HWR_LoadTextures(numtextures);
-	}
 }
 #endif