diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 3e85d4e36ec0839304a4e0fdcce9f68e15ca893c..c4d41e5449632e5f91c6f5428f107a3308a8df56 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -676,6 +676,10 @@ static int avi_read_header(AVFormatContext *s)
                         st->codec->codec_id  = AV_CODEC_ID_ADPCM_IMA_AMV;
                         ast->dshow_block_align = 0;
                     }
+                    if(st->codec->codec_id == AV_CODEC_ID_AAC && ast->dshow_block_align <= 4 && ast->dshow_block_align) {
+                        av_log(s, AV_LOG_DEBUG, "overriding invalid dshow_block_align of %d\n", ast->dshow_block_align);
+                        ast->dshow_block_align = 0;
+                    }
                     break;
                 case AVMEDIA_TYPE_SUBTITLE:
                     st->codec->codec_type = AVMEDIA_TYPE_SUBTITLE;