diff --git a/src/r_textures.c b/src/r_textures.c
index 705a9af2d1878e1ad067e01c49bf85f93552dc4e..b1a5e3519fe2fe7ec5af0f06bb71acc360b2ffbc 100644
--- a/src/r_textures.c
+++ b/src/r_textures.c
@@ -124,7 +124,7 @@ static inline void R_DrawFlippedColumnInCache(column_t *column, UINT8 *cache, te
 	{
 		post_t *post = &column->posts[i];
 		topdelta = patchheight - post->length - post->topdelta;
-		source = column->pixels + post->data_offset + post->length;
+		source = column->pixels + post->data_offset + (post->length - 1);
 		count = post->length;
 		position = originy + topdelta;
 
@@ -201,7 +201,7 @@ static inline void R_DrawBlendFlippedColumnInCache(column_t *column, UINT8 *cach
 	{
 		post_t *post = &column->posts[i];
 		topdelta = patchheight - post->length - post->topdelta;
-		source = column->pixels + post->data_offset + post->length;
+		source = column->pixels + post->data_offset + (post->length - 1);
 		count = post->length;
 		position = originy + topdelta;