diff --git a/libavcodec/resample.c b/libavcodec/resample.c
index b43b4daa5af79ada0d3976eadfa3a641e0546fc3..56b7917444370156670f8b34fa9fad435bf62364 100644
--- a/libavcodec/resample.c
+++ b/libavcodec/resample.c
@@ -231,8 +231,8 @@ int audio_resample(ReSampleContext *s, short *output, short *input, int nb_sampl
         ac3_5p1_mux(output, buftmp3[0], buftmp3[1], nb_samples1);
     }
 
-    av_free(bufin[0]);
-    av_free(bufin[1]);
+    for(i=0; i<s->filter_channels; i++)
+        av_free(bufin[i]);
 
     av_free(bufout[0]);
     av_free(bufout[1]);