diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 0f0bf907295a5425621bc818dfc9b69e67c16cb5..ac4a12fb161a1c74dfa55c7daec3f2a6d0eb5f00 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -240,7 +240,7 @@ int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic){
             if(s->flags&CODEC_FLAG_EMU_EDGE)
                 buf->data[i] = buf->base[i];
             else
-                buf->data[i] = buf->base[i] + (pic->linesize[i]*EDGE_WIDTH>>v_shift) + (EDGE_WIDTH>>h_shift);
+                buf->data[i] = buf->base[i] + ALIGN((pic->linesize[i]*EDGE_WIDTH>>v_shift) + (EDGE_WIDTH>>h_shift), s_align);
         }
         pic->age= 256*256*256*64;
         pic->type= FF_BUFFER_TYPE_INTERNAL;