diff --git a/compiler/checkgen.lisp b/compiler/checkgen.lisp
index 1c1fe8ffea6dd374440554a6e148cf34195c945b..3939c5116ef87d32b68d9e7a66cf8f81bb2f53de 100644
--- a/compiler/checkgen.lisp
+++ b/compiler/checkgen.lisp
@@ -279,13 +279,14 @@
 (defun make-type-check-form (types)
   (collect ((temps))
     (dotimes (i (length types))
-      (declare (ignore i))
       (temps (gensym)))
 
     `(multiple-value-bind ,(temps)
 			  'dummy
        ,@(mapcar #'(lambda (temp type)
-		     (let* ((spec (type-specifier (second type)))
+		     (let* ((spec
+			     (let ((*unparse-function-type-simplify* t))
+			       (type-specifier (second type))))
 			    (test (if (first type) `(not ,spec) spec)))
 		       `(unless (typep ,temp ',test)
 			  (%type-check-error