diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c
index 6093bc192711b1f39c06cea56a4e8cf5709fe3df..c6f5037f20d9d12d697742d01403cf976b3af080 100644
--- a/libavcodec/vorbis_enc.c
+++ b/libavcodec/vorbis_enc.c
@@ -1134,6 +1134,7 @@ static int vorbis_encode_frame(AVCodecContext * avccontext, unsigned char * pack
 
     residue_encode(venc, &venc->residues[mapping->residue[mapping->mux[0]]], &pb, venc->coeffs, samples, venc->channels);
 
+    flush_put_bits(&pb);
     return (put_bits_count(&pb) + 7) / 8;
 }