diff --git a/lib/pure/htmlparser.nim b/lib/pure/htmlparser.nim
index d620e816ee..fd58bed25d 100644
--- a/lib/pure/htmlparser.nim
+++ b/lib/pure/htmlparser.nim
@@ -433,7 +433,7 @@ proc htmlTag*(n: XmlNode): HtmlTag =
proc htmlTag*(s: string): HtmlTag =
## converts `s` to a ``HtmlTag``. If `s` is no HTML tag, ``tagUnknown`` is
## returned.
- let s = if allLower(s): s else: s.toLower
+ let s = if allLower(s): s else: toLowerAscii(s)
result = toHtmlTag(s)
proc entityToUtf8*(entity: string): string =
@@ -513,13 +513,13 @@ proc parse(x: var XmlParser, errors: var seq[string]): XmlNode =
errors.add(errorMsg(x))
next(x)
of xmlElementStart:
- result = newElement(x.elemName.toLower)
+ result = newElement(toLowerAscii(x.elemName))
next(x)
untilElementEnd(x, result, errors)
of xmlElementEnd:
errors.add(errorMsg(x, "unexpected ending tag: " & x.elemName))
of xmlElementOpen:
- result = newElement(x.elemName.toLower)
+ result = newElement(toLowerAscii(x.elemName))
next(x)
result.attrs = newStringTable()
while true:
diff --git a/lib/pure/pegs.nim b/lib/pure/pegs.nim
index 7e1f50266d..5c978a2f8c 100644
--- a/lib/pure/pegs.nim
+++ b/lib/pure/pegs.nim
@@ -1841,8 +1841,8 @@ when isMainModule:
result.add ", "
result.add case n:
- of 2: c[0].toLower & ": '" & c[1] & "'"
- of 1: c[0].toLower & ": ''"
+ of 2: toLowerAscii(c[0]) & ": '" & c[1] & "'"
+ of 1: toLowerAscii(c[0]) & ": ''"
else: ""
assert("Var1=key1;var2=Key2; VAR3".