diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart
index 3f82806b5..fcf1dd2c4 100644
--- a/lib/pages/chat/events/html_message.dart
+++ b/lib/pages/chat/events/html_message.dart
@@ -156,8 +156,8 @@ class HtmlMessage extends StatelessWidget {
// We must not render elements nested more than 100 elements deep:
if (depth >= 100) return const TextSpan();
- // This is a text node, so we render it as text:
- if (node is! dom.Element) {
+ // This is a text node or not permitted node, so we render it as text:
+ if (node is! dom.Element || !allowedHtmlTags.contains(node.localName)) {
var text = node.text ?? '';
// Single linebreak nodes between Elements are ignored:
if (text == '\n') text = '';
@@ -170,9 +170,6 @@ class HtmlMessage extends StatelessWidget {
);
}
- // We must not render tags which are not in the allow list:
- if (!allowedHtmlTags.contains(node.localName)) return const TextSpan();
-
switch (node.localName) {
case 'br':
return const TextSpan(text: '\n');