diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index ead0a82467fa570017cd92648007ea016c3e2bf0..51edce015241ae720b59587bbd0ab122f5249a38 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1315,6 +1315,7 @@ static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt)
         mkv->cluster_pos = 0;
         if (mkv->dyn_bc)
             mkv_flush_dynbuf(s);
+        avio_flush(s->pb);
     }
 
     // check if we have an audio packet cached