diff --git a/src/lib-mail/mail-html2text.c b/src/lib-mail/mail-html2text.c
index 856ec0b8c1..c337f321ef 100644
--- a/src/lib-mail/mail-html2text.c
+++ b/src/lib-mail/mail-html2text.c
@@ -191,13 +191,15 @@ parse_data(struct mail_html2text *ht,
if (ret == 0)
return i;
i += ret - 1;
- } else if (c == '&') {
- ret = parse_entity(data+i+1, size-i-1, output);
- if (ret == 0)
- return i;
- i += ret - 1;
} else if (ht->quote_level == 0) {
- buffer_append_c(output, c);
+ if (c == '&') {
+ ret = parse_entity(data+i+1, size-i-1, output);
+ if (ret == 0)
+ return i;
+ i += ret - 1;
+ } else {
+ buffer_append_c(output, c);
+ }
}
break;
case HTML_STATE_TAG: