diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index d707cc31ad6c6f222ddf5218f607f4d3062e889f..5100f374fe9033dd70c817e28d29871f62ce444e 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -426,8 +426,11 @@ static void write_section_data(MpegTSContext *ts, MpegTSFilter *tss1,
             }else
                 crc_valid = 2;
         }
-        if (crc_valid)
+        if (crc_valid) {
             tss->section_cb(tss1, tss->section_buf, tss->section_h_size);
+            if (crc_valid != 1)
+                tss->last_ver = -1;
+        }
     }
 }