diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 1514726b9931033e6c544d59364a4c7baa1847db..1913ec9a65df7345e8cd2e726f7fd46e9b139975 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -1722,7 +1722,10 @@ static void mxf_write_random_index_pack(AVFormatContext *s)
     put_buffer(pb, random_index_pack_key, 16);
     klv_encode_ber_length(pb, 28 + 12*mxf->body_partitions_count);
 
-    put_be32(pb, 0); // BodySID of header partition
+    if (mxf->edit_unit_byte_count)
+        put_be32(pb, 1); // BodySID of header partition
+    else
+        put_be32(pb, 0); // BodySID of header partition
     put_be64(pb, 0); // offset of header partition
 
     for (i = 0; i < mxf->body_partitions_count; i++) {