--- a/src/clos/method.lsp
+++ b/src/clos/method.lsp
@@ -360,21 +360,22 @@
 
 ;;; early version used during bootstrap
 (defun add-method (gf method)
-  (let* ((name (generic-function-name gf))
-	 (method-entry (assoc name *early-methods*)))
-    (unless method-entry
-      (setq method-entry (list name))
-      (push method-entry *early-methods*))
-    (push method (cdr method-entry))
-    (push method (generic-function-methods gf))
-    (setf (method-generic-function method) gf)
-    (unless (si::sl-boundp (generic-function-lambda-list gf))
-      (setf (generic-function-lambda-list gf) (method-lambda-list method))
-      (setf (generic-function-argument-precedence-order gf)
-	    (rest (si::process-lambda-list (method-lambda-list method) t))))
-    (compute-g-f-spec-list gf)
-    (set-generic-function-dispatch gf)
-    method))
+  (with-early-accessors (+standard-method-slots+ +standard-generic-function-slots+)
+    (let* ((name (generic-function-name gf))
+	   (method-entry (assoc name *early-methods*)))
+      (unless method-entry
+	(setq method-entry (list name))
+	(push method-entry *early-methods*))
+      (push method (cdr method-entry))
+      (push method (generic-function-methods gf))
+      (setf (method-generic-function method) gf)
+      (unless (si::sl-boundp (generic-function-lambda-list gf))
+	(setf (generic-function-lambda-list gf) (method-lambda-list method))
+	(setf (generic-function-argument-precedence-order gf)
+	      (rest (si::process-lambda-list (method-lambda-list method) t))))
+      (compute-g-f-spec-list gf)
+      (set-generic-function-dispatch gf)
+      method)))
 
 (defun find-method (gf qualifiers specializers &optional (errorp t))
   (declare (notinline method-qualifiers))