diff --git a/libavcodec/microdvddec.c b/libavcodec/microdvddec.c
index b225ab9f7e981f2b57f434901a41bd2b00ce476f..96034a042aef0e59c543b4bf3f501fbae0436764 100644
--- a/libavcodec/microdvddec.c
+++ b/libavcodec/microdvddec.c
@@ -66,8 +66,24 @@ static void microdvd_set_tag(struct microdvd_tag *tags, struct microdvd_tag tag)
 // italic, bold, underline, strike-through
 #define MICRODVD_STYLES "ibus"
 
+/* some samples have lines that start with a / indicating non persistent italic
+ * marker */
+static char *check_for_italic_slash_marker(struct microdvd_tag *tags, char *s)
+{
+    if (*s == '/') {
+        struct microdvd_tag tag = tags[indexof(MICRODVD_TAGS, 'y')];
+        tag.key = 'y';
+        tag.data1 |= 1 << 0 /* 'i' position in MICRODVD_STYLES */;
+        microdvd_set_tag(tags, tag);
+        s++;
+    }
+    return s;
+}
+
 static char *microdvd_load_tags(struct microdvd_tag *tags, char *s)
 {
+    s = check_for_italic_slash_marker(tags, s);
+
     while (*s == '{') {
         char *start = s;
         char tag_char = *(s + 1);
@@ -178,7 +194,7 @@ static char *microdvd_load_tags(struct microdvd_tag *tags, char *s)
         microdvd_set_tag(tags, tag);
         s++;
     }
-    return s;
+    return check_for_italic_slash_marker(tags, s);
 }
 
 static void microdvd_open_tags(AVBPrint *new_line, struct microdvd_tag *tags)