Index: /trunk/ccl/level-0/l0-misc.lisp
===================================================================
--- /trunk/ccl/level-0/l0-misc.lisp	(revision 6181)
+++ /trunk/ccl/level-0/l0-misc.lisp	(revision 6182)
@@ -474,5 +474,5 @@
     (loop
       (dotimes (i n)
-        (when (eql 0 (%ptr-store-conditional p 0 self))
+        (when (eql 0 (%ptr-store-fixnum-conditional p 0 self))
           (return-from %get-spin-lock t)))
       (yield))))
@@ -501,6 +501,6 @@
          (if flag
            (setf (lock-acquisition.status flag) t))
-         (return t)))
-      (setf (%get-ptr spin) (%null-ptr))
+         (return t))
+       (setf (%get-ptr spin) (%null-ptr)))
       (%process-wait-on-semaphore-ptr signal 1 0 "waiting for lock"))))
 
