Index: /trunk/ccl/level-1/l1-clos.lisp
===================================================================
--- /trunk/ccl/level-1/l1-clos.lisp	(revision 382)
+++ /trunk/ccl/level-1/l1-clos.lisp	(revision 383)
@@ -282,10 +282,11 @@
       (extract-instance-and-class-slotds eslotds)
     (let* ((new-ordering
-            (let* ((v (make-array (the fixnum (length instance-slots)))))
+            (let* ((v (make-array (the fixnum (length instance-slots))))
+		   (i 0))
+	      (declare (simple-vector v) (fixnum i))
               (dolist (e instance-slots v)
-                (setf (svref v
-                             (the fixnum
-                               (- (%slot-definition-location e) 1)))
-                      (%slot-definition-name e)))))
+                (setf (svref v i)
+                      (%slot-definition-name e))
+		(incf i))))
            (old-wrapper (%class-own-wrapper class))
            (old-ordering (if old-wrapper (%wrapper-instance-slots old-wrapper)))
