diff --git a/packages/flutter_html_math/lib/flutter_html_math.dart b/packages/flutter_html_math/lib/flutter_html_math.dart
index 1567dbdcab..2af8ce170e 100644
--- a/packages/flutter_html_math/lib/flutter_html_math.dart
+++ b/packages/flutter_html_math/lib/flutter_html_math.dart
@@ -71,8 +71,12 @@ String _parseMathRecursive(dom.Node node, String parsed) {
parsed = _parseMathRecursive(nodeList[0], parsed);
parsed = _parseMathRecursive(nodeList[2], parsed + r"\overline{)") + "}";
}
- if (node.localName == "msqrt" && nodeList.length == 1) {
- parsed = _parseMathRecursive(nodeList[0], parsed + r"\sqrt{") + "}";
+ if (node.localName == "msqrt") {
+ parsed = parsed + r"\sqrt{";
+ nodeList.forEach((element) {
+ parsed = _parseMathRecursive(element, parsed);
+ });
+ parsed = parsed + "}";
}
if (node.localName == "mroot" && nodeList.length == 2) {
parsed = _parseMathRecursive(nodeList[1], parsed + r"\sqrt[") + "]";