diff --git a/libavcodec/htmlsubtitles.c b/libavcodec/htmlsubtitles.c
index ba4f269b3f..602fff9e2d 100644
--- a/libavcodec/htmlsubtitles.c
+++ b/libavcodec/htmlsubtitles.c
@@ -93,7 +93,7 @@ int ff_htmlmarkup_to_ass(void *log_ctx, AVBPrint *dst, const char *in)
if (*next_closep == '}' && (an != 1 && (len = 0, sscanf(in, "{\\%*[^}]}%n", &len) >= 0 && len > 0)) ||
*next_closep == '}' && (len = 0, sscanf(in, "{%*1[CcFfoPSsYy]:%*[^}]}%n", &len) >= 0 && len > 0)) {
- in += len - 1;
+ in = next_closep;
} else
av_bprint_chars(dst, *in, 1);
break;