diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index ed8d76bc1a14331250e4b82ffc7c611f9a1f5e20..3e4adf0c11bb1a8cb9d67dbc43ac287d477e58d1 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -402,7 +402,7 @@ static int tta_decode_frame(AVCodecContext *avctx,
     } else {
         // shift samples for 24-bit sample format
         int32_t *samples = data;
-        for (p = s->decode_buffer; p < s->decode_buffer + (framelen * s->channels); p++)
+        for (i = 0; i < framelen * s->channels; i++)
             *samples++ <<= 8;
         // reset decode buffer
         s->decode_buffer = NULL;