diff --git a/lib/pure/htmlparser.nim b/lib/pure/htmlparser.nim
index fd58bed25d..1fe0b297ba 100644
--- a/lib/pure/htmlparser.nim
+++ b/lib/pure/htmlparser.nim
@@ -464,12 +464,18 @@ proc untilElementEnd(x: var XmlParser, result: XmlNode,
case x.kind
of xmlElementStart, xmlElementOpen:
case result.htmlTag
- of tagLi, tagP, tagDt, tagDd, tagInput, tagOption:
- # some tags are common to have no ````, like ``
``:
+ of tagP, tagInput, tagOption:
+ # some tags are common to have no ````, like ```` but
+ # allow ```` in `
`, `` and ```` in next case
if htmlTag(x.elemName) in {tagLi, tagP, tagDt, tagDd, tagInput,
tagOption}:
errors.add(expected(x, result))
break
+ of tagDd, tagDt, tagLi:
+ if htmlTag(x.elemName) in {tagLi, tagDt, tagDd, tagInput,
+ tagOption}:
+ errors.add(expected(x, result))
+ break
of tagTd, tagTh:
if htmlTag(x.elemName) in {tagTr, tagTd, tagTh, tagTfoot, tagThead}:
errors.add(expected(x, result))