diff --git a/ansi-tests/char-aux.lsp b/ansi-tests/char-aux.lsp
index df95973133ed3d9ac1fde4bd4c3eb58bd3479fd8..af4fafbc4bee850e15c7fd40b5f5cbb73ea5f1b3 100644
--- a/ansi-tests/char-aux.lsp
+++ b/ansi-tests/char-aux.lsp
@@ -263,12 +263,16 @@
 		     (setf (gethash c c->i) i)
 		     (setf (gethash i i->c) c)
 		     t))))))
-      (and
-       (loop for i from 0 below char-code-limit
-	     always (%insert (code-char i)))
-       (every #'%insert +standard-chars+)
-       (every #'%insert *universe*)
-       t))))
+      (or
+       (loop for i from 0 below (min (ash 1 16) char-code-limit)
+	     unless (%insert (code-char i))
+	     collect i)
+       (loop for i = (random char-code-limit)
+	     repeat 1000
+	     unless (%insert (code-char i))
+	     collect i)
+       (find-if-not #'%insert +standard-chars+)
+       (find-if-not #'%insert *universe*)))))
 
 (defun char-name.1.fn ()
   (declare (optimize (safety 3) (speed 1) (space 1)))
@@ -280,7 +284,7 @@
 		    (and (stringp name)
 			 (eqlt c (name-char name))))))))
     (and
-     (loop for i from 0 below char-code-limit
+     (loop for i from 0 below (min (ash 1 16) char-code-limit)
 	   always (%check (code-char i)))
      (every #'%check +standard-chars+)
      (every #'%check *universe*)
diff --git a/ansi-tests/character.lsp b/ansi-tests/character.lsp
index 7d115d19dab4f7062e33aceb62a5d8944a44169b..f8a35ea7f113140b1256af659e0a6c8c8cf57ee9 100644
--- a/ansi-tests/character.lsp
+++ b/ansi-tests/character.lsp
@@ -550,7 +550,7 @@
 
 (deftest char-int.2
   (char-int.2.fn)
-  t)
+  nil)
 
 (deftest char-int.order.1
   (let ((i 0))