diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 6b15a2bc8cdb05179fee70fee429d57193fce4e6..f12a72b17c3d33bd10db6418ae39dd5bb41b730e 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -1330,9 +1330,8 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt)
     }
 
     if (st->index == 0) {
-        mxf->index_entries[mxf->edit_units_count].offset = url_ftell(pb);
-
         mxf_write_klv_fill(s);
+        mxf->index_entries[mxf->edit_units_count].offset = url_ftell(pb);
         mxf_write_system_item(s);
 
         mxf->edit_units_count++;