diff --git a/libavcodec/microdvddec.c b/libavcodec/microdvddec.c
index a5623624e13b7d375d4685f0796ae9daa71849b8..fe70ea45ddedebdfea572e1b21b724846e8e32cc 100644
--- a/libavcodec/microdvddec.c
+++ b/libavcodec/microdvddec.c
@@ -101,6 +101,8 @@ static char *microdvd_load_tags(struct microdvd_tag *tags, char *s)
         case 'C':
             tag.persistent = MICRODVD_PERSISTENT_ON;
         case 'c':
+            if (*s == '$')
+                s++;
             tag.data1 = strtol(s, &s, 16) & 0x00ffffff;
             if (*s != '}')
                 break;