--- a/src/clos/kernel.lsp
+++ b/src/clos/kernel.lsp
@@ -168,30 +168,33 @@
       ;; function, where we can replace the output of COMPUTE-DISCRIMINATING-FUNCTION with
       ;; a similar implementation in C
       (compute-discriminating-function gfun)
-    (set-funcallable-instance-function
-     gfun
-     (cond
-       ;; Case 1*
-       ((or (not optimizable)
-	    (> (length (generic-function-spec-list gfun))
-	       si::c-arguments-limit))
-	default-function)
-       ;; Case 2*
-       ((and (not (eq (class-id (class-of gfun)) 'standard-generic-function))
-	     *clos-booted*)
-	t)
-       ;; Cases 3*
-       ((loop with class = (find-class 'standard-reader-method nil)
-	   for m in (generic-function-methods gfun)
-	   always (eq class (class-of m)))
-	'standard-reader-method)
-       ((loop with class = (find-class 'standard-writer-method nil)
-	   for m in (generic-function-methods gfun)
-	   always (eq class (class-of m)))
-	'standard-writer-method)
-       ;; Case 4*
-       (t
-	'standard-generic-function)))))
+    (let ((methods (generic-function-methods gfun)))
+      (set-funcallable-instance-function
+       gfun
+       (cond
+	 ;; Case 1*
+	 ((or (not optimizable)
+	      (> (length (generic-function-spec-list gfun))
+		 si::c-arguments-limit))
+	  default-function)
+	 ;; Case 2*
+	 ((and (not (eq (class-id (class-of gfun)) 'standard-generic-function))
+	       *clos-booted*)
+	  t)
+	 ((null methods)
+	  'standard-generic-function)
+	 ;; Cases 3*
+	 ((loop with class = (find-class 'standard-reader-method nil)
+	     for m in (generic-function-methods gfun)
+	     always (eq class (class-of m)))
+	  'standard-reader-method)
+	 ((loop with class = (find-class 'standard-writer-method nil)
+	     for m in (generic-function-methods gfun)
+	     always (eq class (class-of m)))
+	  'standard-writer-method)
+	 ;; Case 4*
+	 (t
+	  'standard-generic-function))))))
 
 ;;; ----------------------------------------------------------------------
 ;;; COMPUTE-APPLICABLE-METHODS
@@ -218,7 +221,10 @@
 (defun applicable-method-list (gf args)
   (declare (optimize (speed 3))
 	   (si::c-local))
-  (with-early-accessors (+standard-method-slots+ +standard-generic-function-slots+)
+  (with-early-accessors (+standard-method-slots+
+			 +standard-generic-function-slots+
+			 +eql-specializer-slots+
+			 +standard-class-slots+)
     (flet ((applicable-method-p (method args)
 	     (loop for spec in (method-specializers method)
 		for arg in args