Index: /branches/working-0711/ccl/level-1/l1-symhash.lisp
===================================================================
--- /branches/working-0711/ccl/level-1/l1-symhash.lisp	(revision 13137)
+++ /branches/working-0711/ccl/level-1/l1-symhash.lisp	(revision 13138)
@@ -631,6 +631,7 @@
                         (cerror "Do nothing" 'no-such-package :package package)
                         (return-from delete-package nil)))))
-  (unless (memq package %all-packages%)
-    (return-from delete-package nil))
+  (with-package-list-read-lock
+    (unless (memq package %all-packages%)
+      (return-from delete-package nil)))
   (when (pkg.used-by package)
     (cerror "unuse ~S" 'package-is-used-by :package package
@@ -641,5 +642,6 @@
     (unuse-package (car (pkg.used package)) package))
   (setf (pkg.shadowed package) nil)
-  (setq %all-packages% (nremove package %all-packages%))
+  (with-package-list-write-lock
+    (setq %all-packages% (nremove package %all-packages%)))
   (dolist (n (pkg.names package))
     (let* ((ref (register-package-ref n)))
