--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -4140,6 +4140,12 @@ gst_qtdemux_chain (GstPad * sinkpad, GstObject * parent, GstBuffer * inbuf)
           ret = GST_FLOW_ERROR;
           break;
         }
+        if (fourcc == 0) {
+          /* fix some files with short free atom size */
+          demux->offset += 8;
+          gst_adapter_flush (demux->adapter, 8);
+          break;
+        }
         if (fourcc == FOURCC_mdat) {
           if (demux->n_streams > 0) {
             /* we have the headers, start playback */
