diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c
index 50d6689413b0a6b83577989b3573b5223334304d..e3418e18e801a27b3944129c573bf42877260197 100644
--- a/libavformat/concatdec.c
+++ b/libavformat/concatdec.c
@@ -364,7 +364,7 @@ static int concat_read_close(AVFormatContext *avf)
 
     for (i = 0; i < cat->nb_files; i++) {
         av_freep(&cat->files[i].url);
-        for (j = 0; j < cat->avf->nb_streams; j++) {
+        for (j = 0; j < cat->files[i].nb_streams; j++) {
             if (cat->files[i].streams[j].avctx)
                 avcodec_free_context(&cat->files[i].streams[j].avctx);
             if (cat->files[i].streams[j].bsf)