diff --git a/collects/scribble/html-render.rkt b/collects/scribble/html-render.rkt
index fb37dbd7..0dc3dad9 100644
--- a/collects/scribble/html-render.rkt
+++ b/collects/scribble/html-render.rkt
@@ -1382,12 +1382,14 @@
(list (format "~s" i))]))
(define/private (ascii-ize s)
- (let ([m (regexp-match-positions #rx"[^\u01-\u7E]" s)])
- (if m
- (append (ascii-ize (substring s 0 (caar m)))
- (list (char->integer (string-ref s (caar m))))
- (ascii-ize (substring s (cdar m))))
- (list s))))
+ (if (= (string-utf-8-length s) (string-length s))
+ (list s)
+ (let ([m (regexp-match-positions #rx"[^\u01-\u7E]" s)])
+ (if m
+ (append (ascii-ize (substring s 0 (caar m)))
+ (list (char->integer (string-ref s (caar m))))
+ (ascii-ize (substring s (cdar m))))
+ (list s)))))
;; ----------------------------------------