diff --git a/uiop/backward-driver.lisp b/uiop/backward-driver.lisp
index be93f8406458c769950e37ca18e11e5df2716a45..3f4cd7c7c9d2c64b7ee2ad83737aced43ccdcab6 100644
--- a/uiop/backward-driver.lisp
+++ b/uiop/backward-driver.lisp
@@ -2,8 +2,6 @@
 ;;; Hacks for backward-compatibility of the driver
 
 (uiop/package:define-package :uiop/backward-driver
-  (:nicknames :asdf/backward-driver)
-  (:recycle :uiop/backward-driver :asdf/backward-driver :asdf)
   (:use :uiop/common-lisp :uiop/package :uiop/utility
    :uiop/pathname :uiop/stream :uiop/os :uiop/image
    :uiop/run-program :uiop/lisp-build :uiop/configuration)
diff --git a/uiop/common-lisp.lisp b/uiop/common-lisp.lisp
index 4df57ff162b5bb29b57a84ce5335ca158b0fa6ad..cbfdfcb12de8040cc1e5b748d049f8b2e0ba536c 100644
--- a/uiop/common-lisp.lisp
+++ b/uiop/common-lisp.lisp
@@ -7,10 +7,9 @@
 ;;; from this package only common-lisp symbols are exported.
 
 (uiop/package:define-package :uiop/common-lisp
-  (:nicknames :uoip/cl :asdf/common-lisp :asdf/cl)
+  (:nicknames :uoip/cl)
   (:use :uiop/package)
   (:use-reexport #-genera :common-lisp #+genera :future-common-lisp)
-  (:recycle :uiop/common-lisp :uoip/cl :asdf/common-lisp :asdf/cl :asdf)
   #+allegro (:intern #:*acl-warn-save*)
   #+cormanlisp (:shadow #:user-homedir-pathname)
   #+cormanlisp
@@ -41,6 +40,12 @@
 
 #+allegro
 (eval-when (:load-toplevel :compile-toplevel :execute)
+  ;; We need to disable autoloading BEFORE any mention of package ASDF.
+  ;; In particular, there must NOT be a mention of package ASDF in the defpackage of this file
+  ;; or any previous file.
+  (setf excl::*autoload-package-name-alist*
+        (remove "asdf" excl::*autoload-package-name-alist*
+                :test 'equalp :key 'car))
   (defparameter *acl-warn-save*
     (when (boundp 'excl:*warn-on-nested-reader-conditionals*)
       excl:*warn-on-nested-reader-conditionals*))
diff --git a/uiop/configuration.lisp b/uiop/configuration.lisp
index 8541d5d82a3953de9d26e9f20db47b48f408bdd8..a61a7ee99d4f5d675f3c69f5ecaa67aee49c3791 100644
--- a/uiop/configuration.lisp
+++ b/uiop/configuration.lisp
@@ -2,8 +2,7 @@
 ;;;; Generic support for configuration files
 
 (uiop/package:define-package :uiop/configuration
-  (:nicknames :asdf/configuration)
-  (:recycle :uiop/configuration :asdf/configuration :asdf)
+  (:recycle :uiop/configuration :asdf/configuration) ;; necessary to upgrade from 2.27.
   (:use :uiop/common-lisp :uiop/utility
    :uiop/os :uiop/pathname :uiop/filesystem :uiop/stream :uiop/image :uiop/lisp-build)
   (:export
diff --git a/uiop/driver.lisp b/uiop/driver.lisp
index d05152823cc8fa9674af5b06125328405e0e37c9..51767bdf32c608a0ccf7a04b1a161c6e3cdaba33 100644
--- a/uiop/driver.lisp
+++ b/uiop/driver.lisp
@@ -2,7 +2,8 @@
 ;;;; Re-export all the functionality in UIOP
 
 (uiop/package:define-package :uiop/driver
-  (:nicknames :uiop :asdf/driver :asdf-driver :asdf-utils)
+  (:nicknames :uiop :asdf/driver) ;; asdf/driver is obsolete (uiop isn't);
+  ;; but asdf/driver is still used by swap-bytes, static-vectors.
   (:use :uiop/common-lisp)
    ;; NB: not reexporting uiop/common-lisp
    ;; which include all of CL with compatibility modifications on select platforms,
@@ -10,9 +11,8 @@
    ;; or :use (closer-common-lisp uiop), etc.
   (:use-reexport
    :uiop/package :uiop/utility
-   :uiop/os :uiop/pathname :uiop/stream :uiop/filesystem :uiop/image
-   :uiop/run-program :uiop/lisp-build
-   :uiop/configuration :uiop/backward-driver))
+   :uiop/os :uiop/pathname :uiop/filesystem :uiop/stream :uiop/image
+   :uiop/run-program :uiop/lisp-build :uiop/configuration :uiop/backward-driver))
 
 ;; Provide both lowercase and uppercase, to satisfy more people.
 (provide "uiop") (provide "UIOP")
diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp
index 544ad0f9e11a83670f6613be0b019c556745e38b..5769c985f16793ebbbf3156d6c1e5814a46dd36b 100644
--- a/uiop/filesystem.lisp
+++ b/uiop/filesystem.lisp
@@ -2,8 +2,6 @@
 ;;;; Portability layer around Common Lisp filesystem access
 
 (uiop/package:define-package :uiop/filesystem
-  (:nicknames :asdf/filesystem)
-  (:recycle :uiop/filesystem :asdf/pathname :asdf)
   (:use :uiop/common-lisp :uiop/package :uiop/utility :uiop/os :uiop/pathname)
   (:export
    ;; Native namestrings
diff --git a/uiop/image.lisp b/uiop/image.lisp
index 01b1bfa2220f4d82f1592506ee60806824263ecd..6b53acb04381e9f1b53f8decf5b9a03d082c1ab2 100644
--- a/uiop/image.lisp
+++ b/uiop/image.lisp
@@ -2,8 +2,6 @@
 ;;;; Starting, Stopping, Dumping a Lisp image
 
 (uiop/package:define-package :uiop/image
-  (:nicknames :asdf/image)
-  (:recycle :uiop/image :asdf/image :xcvb-driver)
   (:use :uiop/common-lisp :uiop/package :uiop/utility :uiop/pathname :uiop/stream :uiop/os)
   (:export
    #:*image-dumped-p* #:raw-command-line-arguments #:*command-line-arguments*
diff --git a/uiop/lisp-build.lisp b/uiop/lisp-build.lisp
index 6a711250f65cfbdfaffd183552311ed8fcb8aef7..892f7ae505ed8cad2b45e38efd77e15f8dc5e076 100644
--- a/uiop/lisp-build.lisp
+++ b/uiop/lisp-build.lisp
@@ -2,8 +2,6 @@
 ;;;; Support to build (compile and load) Lisp files
 
 (uiop/package:define-package :uiop/lisp-build
-  (:nicknames :asdf/lisp-build)
-  (:recycle :uiop/lisp-build :asdf/lisp-build :asdf)
   (:use :uiop/common-lisp :uiop/package :uiop/utility
    :uiop/os :uiop/pathname :uiop/filesystem :uiop/stream :uiop/image)
   (:export
diff --git a/uiop/os.lisp b/uiop/os.lisp
index 905d01ed31a8ca6fe2622cbf160a6781633e1865..31e15837f45bc9c65e35e704eb7b80c0e9ab508c 100644
--- a/uiop/os.lisp
+++ b/uiop/os.lisp
@@ -2,8 +2,6 @@
 ;;;; Access to the Operating System
 
 (uiop/package:define-package :uiop/os
-  (:nicknames :asdf/os)
-  (:recycle :uiop/os :asdf/os :asdf)
   (:use :uiop/common-lisp :uiop/package :uiop/utility)
   (:export
    #:featurep #:os-unix-p #:os-macosx-p #:os-windows-p #:os-genera-p #:detect-os ;; features
diff --git a/uiop/package.lisp b/uiop/package.lisp
index cd7139447af311936af7776a0211a613eac5b939..f4eecead4dcd295a04ace4fd19d1048295ba230f 100644
--- a/uiop/package.lisp
+++ b/uiop/package.lisp
@@ -737,16 +737,3 @@ UNINTERN -- Remove symbols here from PACKAGE."
        #+(or clasp ecl gcl mkcl) (defpackage ,package (:use))
        (eval-when (:compile-toplevel :load-toplevel :execute)
          ,ensure-form))))
-
-;;;; Final tricks to keep various implementations happy.
-;; We want most such tricks in common-lisp.lisp,
-;; but these need to be done before the define-package form there,
-;; that we nevertheless want to be the very first form.
-(eval-when (:load-toplevel :compile-toplevel :execute)
-  #+allegro ;; We need to disable autoloading BEFORE any mention of package ASDF.
-  (setf excl::*autoload-package-name-alist*
-        (remove "asdf" excl::*autoload-package-name-alist*
-                :test 'equalp :key 'car)))
-
-;; Compatibility with whoever calls asdf/package
-(define-package :asdf/package (:use :cl :uiop/package) (:reexport :uiop/package))
diff --git a/uiop/pathname.lisp b/uiop/pathname.lisp
index 981290718df3f6b304f05c7713a142348618c8a4..7ab75398b9d0c17f37d81292c2ca8fe9cc98e581 100644
--- a/uiop/pathname.lisp
+++ b/uiop/pathname.lisp
@@ -4,8 +4,7 @@
 ;; which all is necessary prior to any access the filesystem or environment.
 
 (uiop/package:define-package :uiop/pathname
-  (:nicknames :asdf/pathname)
-  (:recycle :uiop/pathname :asdf/pathname :asdf)
+  (:nicknames :asdf/pathname) ;; deprecated. Used by ceramic
   (:use :uiop/common-lisp :uiop/package :uiop/utility :uiop/os)
   (:export
    ;; Making and merging pathnames, portably
diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp
index ef7b13e1af591b39c210a93b5426aa39860fbc65..48cc2ef441d31b09cd8af937c1922b3decc8886d 100644
--- a/uiop/run-program.lisp
+++ b/uiop/run-program.lisp
@@ -2,8 +2,7 @@
 ;;;; run-program initially from xcvb-driver.
 
 (uiop/package:define-package :uiop/run-program
-  (:nicknames :asdf/run-program)
-  (:recycle :uiop/run-program :asdf/run-program :xcvb-driver)
+  (:nicknames :asdf/run-program) ; OBSOLETE. Used by cl-sane, printv.
   (:use :uiop/common-lisp :uiop/package :uiop/utility
    :uiop/pathname :uiop/os :uiop/filesystem :uiop/stream)
   (:export
diff --git a/uiop/stream.lisp b/uiop/stream.lisp
index 70e3d261acf7f8e1f832cf90243a3cdbcc2946f8..71f83332b03b82ecb4cddd0b59bf5bb3314bd1e4 100644
--- a/uiop/stream.lisp
+++ b/uiop/stream.lisp
@@ -2,8 +2,6 @@
 ;;;; Utilities related to streams
 
 (uiop/package:define-package :uiop/stream
-  (:nicknames :asdf/stream)
-  (:recycle :uiop/stream :asdf/stream :asdf)
   (:use :uiop/common-lisp :uiop/package :uiop/utility :uiop/os :uiop/pathname :uiop/filesystem)
   (:export
    #:*default-stream-element-type*
diff --git a/uiop/utility.lisp b/uiop/utility.lisp
index c5bbe7fd02e92881e9b807e21aa1134b539db798..db3afc682fcf90a35147c1cc75e772f952c6f53e 100644
--- a/uiop/utility.lisp
+++ b/uiop/utility.lisp
@@ -2,8 +2,6 @@
 ;;;; General Purpose Utilities for ASDF
 
 (uiop/package:define-package :uiop/utility
-  (:nicknames :asdf/utility)
-  (:recycle :uiop/utility :asdf/utility :asdf)
   (:use :uiop/common-lisp :uiop/package)
   ;; import and reexport a few things defined in :uiop/common-lisp
   (:import-from :uiop/common-lisp #:compatfmt #:loop* #:frob-substrings