diff --git a/asdf.asd b/asdf.asd
index 87d6af1e271306a1ee4e37616ddb59fe2a95d490..1f32c845577b13a6c872079c8f375004c2077448 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -74,7 +74,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.32.19" ;; to be automatically updated by make bump-version
+  :version "2.32.20" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   ;; For most purposes, asdf itself specially counts as a builtin system.
diff --git a/bundle.lisp b/bundle.lisp
index fb44ffc82d722dd12475fa63acf4b60268819cae..9a1c6e386db1949e28ab79727b3b1a74c174d2bd 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -70,15 +70,12 @@
     ;; On "normal" Lisps: produce an image file from system and dependencies.
     ((selfward-operation :initform '(monolithic-fasl-op monolithic-lib-op))))
 
-  (defclass monolithic-fasl-op (monolithic-bundle-op basic-fasl-op selfward-operation)
-    ;; Create a single fasl for the system and its dependencies.
-    ((selfward-operation :initform 'load-fasl-op)))
+  ;; Create a single fasl for the system and its dependencies.
+  (defclass monolithic-fasl-op (monolithic-bundle-op basic-fasl-op) ())
 
-  (defclass monolithic-lib-op (monolithic-bundle-op basic-compile-op sideway-operation selfward-operation)
+  (defclass monolithic-lib-op (monolithic-bundle-op basic-compile-op)
     ;; ECL: Create a single linkable library for the system and its dependencies.
-    ((bundle-type :initform :lib)
-     (selfward-operation :initform 'lib-op)
-     (sideway-operation :initform 'lib-op)))
+    ((bundle-type :initform :lib)))
 
   (defclass monolithic-dll-op (monolithic-bundle-op basic-compile-op sideway-operation selfward-operation)
     ((bundle-type :initform :dll)
@@ -215,9 +212,10 @@
 
   (defmethod component-depends-on ((o monolithic-fasl-op) (c system))
     (declare (ignorable o))
-    `((fasl-op ,@(required-components c :other-systems t :component-type 'system
-                                        :goal-operation (find-operation o 'load-fasl-op)
-                                        :keep-operation 'fasl-op))
+    `((#-(or ecl mkcl) fasl-op #+(or ecl mkcl) lib-op
+         ,@(required-components c :other-systems t :component-type 'system
+                                  :goal-operation (find-operation o 'load-fasl-op)
+                                  :keep-operation 'fasl-op))
       ,@(call-next-method)))
 
   (defmethod component-depends-on ((o lib-op) (c system))
diff --git a/header.lisp b/header.lisp
index 859e45ba078b8a16d85a3ad8cb168299afd86a5a..67f7945404f3905ffff84cb65fddc65cfb548b21 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.32.19: Another System Definition Facility.
+;;; This is ASDF 2.32.20: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/uiop/lisp-build.lisp b/uiop/lisp-build.lisp
index 49b25d5ba49e083775aa26e1afd71eb1ed32a038..cfa72214af25f1b17c7345c141712e7e905cbebc 100644
--- a/uiop/lisp-build.lisp
+++ b/uiop/lisp-build.lisp
@@ -52,7 +52,7 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
   (defun get-optimization-settings ()
     "Get current compiler optimization settings, ready to PROCLAIM again"
     #-(or clisp clozure cmu ecl sbcl scl)
-    (warn "~S does not support ~S. Please help me fix that." 'get-optimization-settings (lisp-implementation))
+    (warn "~S does not support ~S. Please help me fix that." 'get-optimization-settings (implementation-type))
     #+clozure (ccl:declaration-information 'optimize nil)
     #+(or clisp cmu ecl sbcl scl)
     (let ((settings '(speed space safety debug compilation-speed #+(or cmu scl) c::brevity)))
diff --git a/upgrade.lisp b/upgrade.lisp
index 4db1b3247779bbb372b6d4dbd08044e04aae6acc..cbca42d9d92d8b3c4a7f0c9cffb57bf597e8164b 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
          ;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
-         (asdf-version "2.32.19")
+         (asdf-version "2.32.20")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
diff --git a/version.lisp-expr b/version.lisp-expr
index 770761a7ce1bd8e3c129805e99cce10a4956c0e6..1fb6bf0ca43c5d29101d4cf1d82ea5abcb974794 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.32.19"
+"2.32.20"