diff --git a/gst/matroska/matroska-read-common.c b/gst/matroska/matroska-read-common.c
index f2f1ee1..28a3cd9 100644
--- a/gst/matroska/matroska-read-common.c
+++ b/gst/matroska/matroska-read-common.c
@@ -2402,6 +2402,10 @@ gst_matroska_read_common_parse_metadata_id_tag (GstMatroskaReadCommon * common,
         GstMatroskaTrackContext *stream = g_ptr_array_index (common->src, j);
 
         if (stream->uid == tgt) {
+          if (stream->pending_tags == NULL) {
+            stream->pending_tags = gst_tag_list_new_empty ();
+          }
+
           gst_tag_list_insert (stream->pending_tags, taglist,
               GST_TAG_MERGE_REPLACE);
           found = TRUE;
