diff --git a/src/r_data.c b/src/r_data.c
index e962d390cd2a0081dc2073b61dad34a8c4da3d70..d271e28f3e30612de8900fc9ac6e7a7db037bff4 100644
--- a/src/r_data.c
+++ b/src/r_data.c
@@ -583,7 +583,8 @@ static UINT8 *R_GenerateTexture(size_t texnum)
 		wadnum = patch->wad;
 		lumpnum = patch->lump;
 		lumplength = W_LumpLengthPwad(wadnum, lumpnum);
-		realpatch = W_CacheLumpNumPwad(wadnum, lumpnum, PU_CACHE);
+		pdata = W_CacheLumpNumPwad(wadnum, lumpnum, PU_CACHE);
+		realpatch = (patch_t *)pdata;
 		dealloc = true;
 
 #ifndef NO_PNG_LUMPS