diff --git a/libavformat/mov.c b/libavformat/mov.c
index b5325afee7d18195b817a42f4c3e8bc6ca18ddf5..29e379b117d4f3c6bb951d6924c38fc527f4f456 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -935,6 +935,12 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
         get_be16(pb); /* reserved */
         get_be16(pb); /* index */
 
+        if (st->codec->codec_tag) {
+            /* multiple fourcc, just skip for now */
+            url_fskip(pb, size - (url_ftell(pb) - start_pos));
+            continue;
+        }
+
         st->codec->codec_tag = format;
         id = codec_get_id(mov_audio_tags, format);
         if (id > 0) {