diff --git a/action.lisp b/action.lisp
index df7b54d5e13cf86b9076a6d1f32dfb192f752540..c8d79fac9c767967e90cc544b457b3c46a2d6d78 100644
--- a/action.lisp
+++ b/action.lisp
@@ -22,11 +22,6 @@
    #:perform #:perform-with-restarts #:retry #:accept))
 (in-package :asdf/action)
 
-(when-upgrade ()
-  (undefine-functions
-   '(explain output-files perform perform-with-restarts
-     operation-done-p compute-action-stamp component-depends-on mark-operation-done)))
-
 (deftype action () '(cons operation component)) ;; a step to be performed while building the system
 
 ;;;; self-description
diff --git a/asdf-driver.asd b/asdf-driver.asd
new file mode 100644
index 0000000000000000000000000000000000000000..1cc19f640c43bad932648d19ba332e66bdb7aedc
--- /dev/null
+++ b/asdf-driver.asd
@@ -0,0 +1,18 @@
+;;; -*- mode: lisp -*-
+
+(defsystem :asdf-driver
+  :licence "MIT"
+  :description "Basic general-purpose utilities used by ASDF"
+  :long-description "Basic general-purpose utilities that is in such a need
+that you can't portably construct a complete program without using them."
+  :components
+  ((:file "header")
+   (:file "package")
+   (:file "compatibility" :depends-on ("package"))
+   (:file "utility" :depends-on ("compatibility"))
+   (:file "pathname" :depends-on ("utility"))
+   (:file "stream" :depends-on ("utility"))
+   (:file "os" :depends-on ("pathname" "stream"))
+   (:file "image" :depends-on ("os"))
+   (:file "run-program" :depends-on ("os"))
+   (:file "lisp-build" :depends-on ("pathname"))))
diff --git a/asdf.asd b/asdf.asd
index 7e80e8d59df6fb3b4855c05593ce54212ed5f90d..e0ec4212c8ee94c5a432e78e3efaeb859f3b1a89 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -15,7 +15,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.26.74" ;; to be automatically updated by bin/bump-revision
+  :version "2.26.75" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components ((:module "build" :components ((:file "asdf")))))
 
@@ -23,5 +23,6 @@
     ((o compile-op)
      (c (eql (first (module-components
                      (first (module-components (find-system :asdf))))))))
-  (declare (ignorable o))
-  (perform (make-instance 'load-source-op) c))
+  (declare (ignorable o c))
+  #-asdf2.27 (perform (make-instance 'load-source-op) c)
+  #+asdf2.27 (perform (make-instance 'monolithic-load-concatenated-source-op) (find-system 'generate-asdf)))
diff --git a/backward-interface.lisp b/backward-interface.lisp
index 8caae230a4aa8395bc747c0fdb9aad71f4d5b822..e56d232f8178951caa9f40e17ec6237d2746406b 100644
--- a/backward-interface.lisp
+++ b/backward-interface.lisp
@@ -18,8 +18,6 @@
    #:system-definition-pathname))
 (in-package :asdf/backward-interface)
 
-(when-upgrade () (undefine-function 'component-load-dependencies))
-
 (defun* component-load-dependencies (component)
   ;; Old deprecated name for the same thing. Please update your software.
   (component-sibling-dependencies component))
diff --git a/bundle.lisp b/bundle.lisp
index 4609c96f97fb19c463c1623f536081e36095389f..0cd3e242f87edadc9e43f0eb3aa086b72141d83e 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -22,8 +22,6 @@
    #:system-fasl))
 (in-package :asdf/bundle)
 
-(when-upgrade () (undefine-function 'trivial-system-p))
-
 (defclass bundle-op (operation)
   ((build-args :initarg :args :initform nil :accessor bundle-op-build-args)
    (name-suffix :initarg :name-suffix :initform nil)
diff --git a/component.lisp b/component.lisp
index 4bc3d67ae929bf3c3c0c6132d301fbe2cd60149c..eb7b7bbcf57d8651c2dcc4e81d5c0b9601661376 100644
--- a/component.lisp
+++ b/component.lisp
@@ -27,8 +27,6 @@
    #:*default-encoding* #:*utf-8-external-format*))
 (in-package :asdf/component)
 
-(when-upgrade () (undefine-functions '(component-relative-pathname source-file-type)))
-
 (defgeneric* component-name (component)
   (:documentation "Name of the COMPONENT, unique relative to its parent"))
 (defgeneric* component-system (component)
diff --git a/configuration.lisp b/configuration.lisp
index d9988fcc6ed8833232c279afa1b6029fc1f7d2df..70370b783a2aaa04a4f22ba18aa5169873e1367a 100644
--- a/configuration.lisp
+++ b/configuration.lisp
@@ -17,8 +17,6 @@
    #:resolve-relative-location-component #:resolve-absolute-location-component))
 (in-package :asdf/configuration)
 
-(when-upgrade () (undefine-function 'resolve-location))
-
 (define-condition invalid-configuration ()
   ((form :reader condition-form :initarg :form)
    (location :reader condition-location :initarg :location)
diff --git a/doc/index.html b/doc/index.html
index 5163e783a6dcf915153ef3e03ef14a27b056cf4f..314ec4316f99c218bdb662351f9268971138777a 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -78,7 +78,7 @@
           (free software successor of the old proprietary DEFSYSTEM's and predecessor of ASDF),
           Sean Ross's <a href="http://sean-ross.blogspot.com/search/label/mudballs">mudballs</a>
           (aborted attempt at making things cleaner than in ASDF),
-          Peter Jetter's <a href="http://www.cliki.net/faslpath">faslpath</a>
+          Peter Etter's <a href="http://www.cliki.net/faslpath">faslpath</a>
           (a much simpler system establishing a mapping between packages and files),
           Alexander Kahl's <a href="http://www.cliki.net/evol">evol</a>
           (a reimplementation of the GNU autotools stack in Lisp),
diff --git a/find-component.lisp b/find-component.lisp
index 3db1cffb4720b02ff225927b80805fed2966397b..1d0a74101ff9924caea3b14d37f960ed7c51156f 100644
--- a/find-component.lisp
+++ b/find-component.lisp
@@ -16,8 +16,6 @@
    #:missing-required-by #:missing-version))
 (in-package :asdf/find-component)
 
-(when-upgrade () (undefine-function 'find-component))
-
 ;;;; Missing component conditions
 
 (define-condition missing-component-of-version (missing-component)
diff --git a/generate-asdf.asd b/generate-asdf.asd
index 0ea8ab55213eac197d561316025dbdb3719cf0c8..8500b594db1a4a1e6110d67335e08e20fa0f5bae 100644
--- a/generate-asdf.asd
+++ b/generate-asdf.asd
@@ -2,59 +2,32 @@
 
 (defsystem :generate-asdf
   :licence "MIT"
-  :description "Generate a monolithic asdf.lisp from all its components"
+  :description "All the components needed to build asdf.lisp"
+  :description "Generate asdf.lisp based on this and monolithic-concatenate-source-op"
   ;; :defsystem-depends-on (:asdf/bundle)
   :class :concatenated-source-system
   ;; :include-dependencies t
   :translate-output-p nil
   :concatenated-source-file "tmp/generated-asdf.lisp"
-#|
-  :depends-on (:asdf-header
-               :asdf-package
-               :asdf-portability
-               :asdf-utility
-               :asdf-pathname
-               :asdf-upgrade
-               :asdf-interface
-               :asdf-lisp-build
-               :asdf-action
-               :asdf-bundle
-               :asdf-backward-compat
-               :asdf-footer))
-|#
   :serial t
   :components
-  ((:file "header")
-   (:module
-    "utils" :pathname "" :components
-    ((:file "package")
-     (:file "compatibility" :depends-on ("package"))
-     (:file "utility" :depends-on ("compatibility"))
-     (:file "pathname" :depends-on ("utility"))
-     (:file "stream" :depends-on ("utility"))
-     (:file "os" :depends-on ("pathname" "streams"))
-     (:file "image" :depends-on ("os"))
-     (:file "run-program" :depends-on ("os"))
-     (:file "lisp-build" :depends-on ("pathname"))))
-   (:module
-    "code" :pathname "" :components
-     (:file "upgrade")
-     (:file "component")
-     (:file "system" :depends-on ("component"))
-     (:file "find-system" :depends-on ("system"))
-     (:file "find-component" :depends-on ("find-system"))
-     (:file "operation")
-     (:file "action" :depends-on ("find-component" "operation"))
-     (:file "lisp-action" :depends-on ("action" "lisp-build"))
-     (:file "plan" :depends-on ("action"))
-     (:file "operate" :depends-on ("plan"))
-     (:file "configuration")
-     (:file "output-translations" :depends-on ("configuration" "operate"))
-     (:file "source-registry" :depends-on ("configuration" "find-system"))
-     (:file "backward-internals" :depends-on ("action" "operate"))
-     (:file "defsystem" :depends-on ("backward-internals"))
-     (:file "bundle" :depends-on ("lisp-action"))
-     (:file "concatenate-source" :depends-on ("lisp-action"))
-     (:file "backward-interface" :depends-on ("lisp-action")))
+  ((:file "upgrade")
+   (:file "component")
+   (:file "system" :depends-on ("component"))
+   (:file "find-system" :depends-on ("system"))
+   (:file "find-component" :depends-on ("find-system"))
+   (:file "operation")
+   (:file "action" :depends-on ("find-component" "operation"))
+   (:file "lisp-action" :depends-on ("action" "lisp-build"))
+   (:file "plan" :depends-on ("action"))
+   (:file "operate" :depends-on ("plan"))
+   (:file "configuration")
+   (:file "output-translations" :depends-on ("configuration" "operate"))
+   (:file "source-registry" :depends-on ("configuration" "find-system"))
+   (:file "backward-internals" :depends-on ("action" "operate"))
+   (:file "defsystem" :depends-on ("backward-internals"))
+   (:file "bundle" :depends-on ("lisp-action"))
+   (:file "concatenate-source" :depends-on ("lisp-action"))
+   (:file "backward-interface" :depends-on ("lisp-action"))
    (:file "interface")
-   (:file "footer" :depends-on ("interface")))))
+   (:file "footer" :depends-on ("interface"))))
diff --git a/header.lisp b/header.lisp
index e472f143318f96b0d4119abcc8629858c7d19ed7..b645a181b3639d3a0852c6c3b34123a4f2aa6372 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.26.74: Another System Definition Facility.
+;;; This is ASDF 2.26.75: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/lisp-build.lisp b/lisp-build.lisp
index 986ec99a5c0bddfc36051ab716aac839413d71e5..c742bcf5b306fae138dd4f94723c045f522033aa 100644
--- a/lisp-build.lisp
+++ b/lisp-build.lisp
@@ -16,8 +16,6 @@
    #:combine-fasls))
 (in-package :asdf/lisp-build)
 
-(eval-when (:compile-toplevel :load-toplevel :execute) (undefine-function 'compile-file*))
-
 (defvar *compile-file-warnings-behaviour*
   (or #+clisp :ignore :warn)
   "How should ASDF react if it encounters a warning when compiling a file?
diff --git a/operate.lisp b/operate.lisp
index eaac663452dedc05ec1ecc0f6cb885b80e9992cc..99a91f7b47e3e9d9257874a00b577560e20d5742 100644
--- a/operate.lisp
+++ b/operate.lisp
@@ -15,8 +15,6 @@
    #:upgrade-asdf #:cleanup-upgraded-asdf #:*post-upgrade-hook*))
 (in-package :asdf/operate)
 
-(when-upgrade () (undefine-function 'operate))
-
 (defgeneric* operate (operation-class system &key &allow-other-keys))
 
 (defun* cleanup-upgraded-asdf ()
diff --git a/output-translations.lisp b/output-translations.lisp
index 12da80345a2efa70e5d7d6fa355ad768810e1e56..4c085564871baead358dd5234db8c126ebfe35ca 100644
--- a/output-translations.lisp
+++ b/output-translations.lisp
@@ -20,8 +20,6 @@
    ))
 (in-package :asdf/output-translations)
 
-(when-upgrade () (undefine-functions '(apply-output-translations (setf output-translations))))
-
 (define-condition invalid-output-translation (invalid-configuration warning)
   ((format :initform (compatfmt "~@<Invalid asdf output-translation ~S~@[ in ~S~]~@{ ~@?~}~@:>"))))
 
diff --git a/pathname.lisp b/pathname.lisp
index c09499dd896c0baa07ff1dab561d4c0dc12c5ccd..098eb8aa84ef926aac3e1dfdad22d24100d9dd83 100644
--- a/pathname.lisp
+++ b/pathname.lisp
@@ -54,8 +54,6 @@
    #:parse-file-location-info #:parse-windows-shortcut))
 (in-package :asdf/pathname)
 
-(eval-when (:compile-toplevel :load-toplevel :execute) (fmakunbound 'translate-pathname*))
-
 ;;; User-visible parameters
 (defvar *resolve-symlinks* t
   "Determine whether or not ASDF resolves symlinks when defining systems.
diff --git a/plan.lisp b/plan.lisp
index 60b712789f4bfb7b344e1e85a000fcb69fc4511f..ce3ae40b0620ce3572b8345320b9a7b3862908c0 100644
--- a/plan.lisp
+++ b/plan.lisp
@@ -24,8 +24,6 @@
    #:perform-plan #:plan-operates-on-p))
 (in-package :asdf/plan)
 
-(when-upgrade () (undefine-functions '(traverse perform-plan traverse-action)))
-
 ;;;; Planned action status
 
 (defgeneric* plan-action-status (plan operation component)
diff --git a/source-registry.lisp b/source-registry.lisp
index c0e63727017c7e1c7ff124b1371b1cfe1c7fad52..e2bdea1f5ca2779e203d4a152d74f0b0ab2f978f 100644
--- a/source-registry.lisp
+++ b/source-registry.lisp
@@ -24,10 +24,6 @@
    #:sysdef-source-registry-search))
 (in-package :asdf/source-registry)
 
-(when-upgrade ()
-  (undefine-functions '(inherit-source-registry process-source-registry
-                        process-source-registry-directive)))
-
 (define-condition invalid-source-registry (invalid-configuration warning)
   ((format :initform (compatfmt "~@<Invalid source registry ~S~@[ in ~S~]~@{ ~@?~}~@:>"))))
 
diff --git a/system.lisp b/system.lisp
index 255adf4c9d4fa1b3e4c7bc531423699167b0ad76..f3d9560776ba262b1811b67e104d8d3a60b6a62b 100644
--- a/system.lisp
+++ b/system.lisp
@@ -21,10 +21,6 @@
    #:system-defsystem-depends-on))
 (in-package :asdf/system)
 
-(when-upgrade ()
-  (undefine-functions '(find-system system-source-file
-                        system-relative-pathname builtin-system-p)))
-
 (defgeneric* find-system (system &optional error-p))
 (declaim (ftype (function (t t) t) probe-asd))
 
diff --git a/upgrade.lisp b/upgrade.lisp
index d8c3b9e573b0986f7f6c010cbb02b1f293649b42..1e5b43e4f43c8a73da34e46dc95ee5a85ea63282 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -31,7 +31,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.26.74")
+         (asdf-version "2.26.75")
          (existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))