diff --git a/lisp/org-html.el b/lisp/org-html.el
index 1f3394e35..c60c90d1b 100644
--- a/lisp/org-html.el
+++ b/lisp/org-html.el
@@ -2184,9 +2184,7 @@ Possible conversions are set in `org-export-html-protect-char-alist'."
(let ((cl org-export-html-protect-char-alist) c)
(while (setq c (pop cl))
(let ((start 0))
- (while (and (string-match (car c) s start)
- ;; prevent infinite matching of &
- (not (string-match "&" s start)))
+ (while (string-match (car c) s start)
(setq s (replace-match (cdr c) t t s)
start (match-beginning 0)))))
s))