diff --git a/libavfilter/af_channelmap.c b/libavfilter/af_channelmap.c
index b3b5aca029234be05d65f1235fbd64911a423766..0bf2fe92c08ecf08ac3987f6fa3e452f40893f65 100644
--- a/libavfilter/af_channelmap.c
+++ b/libavfilter/af_channelmap.c
@@ -338,6 +338,8 @@ static int channelmap_filter_frame(AVFilterLink *inlink, AVFrame *buf)
         memcpy(buf->data, buf->extended_data,
            FFMIN(FF_ARRAY_ELEMS(buf->data), nch_out) * sizeof(buf->data[0]));
 
+    buf->channel_layout = outlink->channel_layout;
+
     return ff_filter_frame(outlink, buf);
 }