diff --git a/auxiliary/char-aux.lsp b/auxiliary/char-aux.lsp
index 67f059fff73aec3bc051efdfc521217cee45e375..0e39acb23896773467ca4f4fe7a95d6411c08fb5 100644
--- a/auxiliary/char-aux.lsp
+++ b/auxiliary/char-aux.lsp
@@ -75,11 +75,13 @@
 (defun character.1.body ()
   (loop for i from 0 below (min 65536 char-code-limit) for c = (code-char i)
         unless (or (null c)
-                   (let ((s (string c)))
+                   (let* ((s (string c))
+                          (sym (make-symbol s)))
                      (and
                       (eqlt (character c) c)
                       (eqlt (character s) c)
-                      (eqlt (character (make-symbol s)) c))))
+                      (= 1 (length (symbol-name sym)))
+                      (eqlt (character sym) c))))
         collect (char-name c)))
 
 (defun character.2.body ()