Index: /trunk/ccl/level-1/l1-error-system.lisp
===================================================================
--- /trunk/ccl/level-1/l1-error-system.lisp	(revision 409)
+++ /trunk/ccl/level-1/l1-error-system.lisp	(revision 410)
@@ -483,6 +483,9 @@
   (dolist (cluster %restarts%)
     (dolist (restart cluster)
-      (when (or (eq restart name) (eq (%restart-name restart) name))
-        (return-from %active-restart (values restart cluster)))))
+      (let* ((rname (%restart-name restart))
+	     (rtest (%restart-test restart)))
+	(when (and (or (eq restart name) (eq rname name))
+		   (or (null rtest) (funcall rtest nil)))
+	  (return-from %active-restart (values restart cluster))))))
   (error 'inactive-restart :restart-name name))
 
