diff --git a/hemlock/struct.lisp b/hemlock/struct.lisp
index c9e51959f13a9cdbdef99b3a755b874bc920a65b..550ed0ca76a6bac45824824882600230070bf75d 100644
--- a/hemlock/struct.lisp
+++ b/hemlock/struct.lisp
@@ -57,8 +57,7 @@
   font)
 
 (defmacro fast-font-mark-p (s)
-  `(eq (svref ,s 0) 'font-mark))
-
+  `(typep ,s 'font-mark))
 
 
 ;;;; Regions, buffers, modeline fields.