diff --git a/src/r_textures.c b/src/r_textures.c
index 27a9336319bdbb71a1d0d1c4747c5a0db73fb2b2..1bc0534ec6d4799aa8b4c4117f07a86fc103fc4f 100644
--- a/src/r_textures.c
+++ b/src/r_textures.c
@@ -147,7 +147,7 @@ static void R_DrawFlippedColumnInCache(column_t *column, UINT8 *cache, texpatch_
 
 		if (count > 0)
 		{
-			for (; dest < cache + position + count; --source)
+			for (; dest < cache + position + count; --source, is_opaque++)
 			{
 				*dest++ = *source;
 				*is_opaque = true;
@@ -191,7 +191,7 @@ static void R_DrawBlendColumnInCache(column_t *column, UINT8 *cache, texpatch_t
 
 		if (count > 0)
 		{
-			for (; dest < cache + position + count; source++, dest++)
+			for (; dest < cache + position + count; source++, dest++, is_opaque++)
 			{
 				*dest = ASTBlendPaletteIndexes(*dest, *source, originPatch->style, originPatch->alpha);
 				*is_opaque = true;
@@ -235,7 +235,7 @@ static void R_DrawBlendFlippedColumnInCache(column_t *column, UINT8 *cache, texp
 
 		if (count > 0)
 		{
-			for (; dest < cache + position + count; --source, dest++)
+			for (; dest < cache + position + count; --source, dest++, is_opaque++)
 			{
 				*dest = ASTBlendPaletteIndexes(*dest, *source, originPatch->style, originPatch->alpha);
 				*is_opaque = true;