diff --git a/asdf.lisp b/asdf.lisp
index e9d60656f03c0e388e7b4464937492095f9f6155..71a145ee1229aac84b569177d38f1c5b06fb9681 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -61,6 +61,7 @@
   (let* ((asdf-version
           ;; the 1+ hair is to ensure that we don't do an inadvertent find and replace
           (subseq "VERSION:1.664" (1+ (length "VERSION"))))
+         #+allegro (excl::*autoload-package-name-alist* nil)
          (existing-asdf (find-package :asdf))
          (versym '#:*asdf-version*)
          (existing-version (and existing-asdf (find-symbol (string versym) existing-asdf)))
@@ -251,6 +252,7 @@
            #:remove-entry-from-registry
 
            #:initialize-output-translations
+           #:disable-output-translations
            #:clear-output-translations
            #:ensure-output-translations
            #:apply-output-translations
@@ -2529,6 +2531,12 @@ with a different configuration, so the configuration would be re-read then."
 return the configuration"
   (setf (output-translations) (compute-output-translations parameter)))
 
+(defun disable-output-translations ()
+  "Initialize output translations in a way that maps every file to itself,
+effectively disabling the output translation facility."
+  (initialize-output-translations
+   '(:output-translations :disable-cache :ignore-inherited-configuration)))
+
 ;; checks an initial variable to see whether the state is initialized
 ;; or cleared. In the former case, return current configuration; in
 ;; the latter, initialize.  ASDF will call this function at the start
diff --git a/doc/asdf.texinfo b/doc/asdf.texinfo
index 5055a3b8fc12e0f12a1c36e42d24ab22bfcecd85..0a801ffc6f9f57f3556208be80bbb1b51d70a51d 100644
--- a/doc/asdf.texinfo
+++ b/doc/asdf.texinfo
@@ -277,6 +277,16 @@ for multiple mutually incompatible implementations.
 At worst, you may have to have multiple copies of the new ASDF,
 e.g. one per implementation installation, to avoid clashes.
 
+Finally, note that there are some limitations to upgrading ASDF:
+@itemize
+@item
+Any ASDF extension is invalidated, and will need to be reloaded.
+@item
+It is safer if you upgrade ASDF and its extensions as a special step
+at the very beginning of whatever script you are running,
+before you start using ASDF to load anything else.
+@end itemize
+
 
 @section Loading an otherwise installed ASDF
 
@@ -2054,16 +2064,33 @@ might have been doing the right thing for some users),
 and yet will experience software that ``just works'',
 as configured by the system distributor, or by default.
 
-Nevertheless, if you want to use the old @code{ASDF-Binary-Locations}
+Nevertheless, if you are a fan of @code{ASDF-Binary-Locations},
+we provide a limited emulation mode:
+
+@defun asdf:enable-asdf-binary-locations-compatibility &key centralize-lisp-binaries default-toplevel-directory include-per-user-information map-all-source-files source-to-target-mappings
+This function will initialize the new @code{asdf-output-translations} facility in a way
+that emulates the behavior of the old @code{ASDF-Binary-Locations} facility.
+Where you would previously set global variables
+@var{*centralize-lisp-binaries*},
+@var{*default-toplevel-directory*},
+@var{*include-per-user-information*},
+@var{*map-all-source-files*} or @var{*source-to-target-mappings*}
+you will now have to pass the same values as keyword arguments to this function.
+Note however that as an extension the @code{:source-to-target-mappings} keyword argument
+will accept any valid pathname designator for @code{asdf-output-translations}
+instead of just strings and pathnames.
+@end defun
+
+If you insist, you can also keep using the old @code{ASDF-Binary-Locations}
 (the one available as an extension to load of top of ASDF,
 not the one built into a few old versions of ASDF),
-it may still work if you just make sure you disable the new
-builtin @code{asdf-output-translations}.
-But if you configure both ASDF's new builtin and @code{ASDF-Binary-Locations}
-(or an old @code{common-lisp-controller} or @code{cl-launch}),
-you may experience ``interesting'' issues, so don't do it.
+but first you must disable @code{asdf-output-translations}
+with @code{(asdf:disable-output-translations)},
+or you might experience ``interesting'' issues.
+
+Also, note that output translation is enabled by default.
+To disable it, use @code{(asdf:disable-output-translations)}.
 
-Also, note that this feature is enabled by default.
 
 @section Configuration DSL
 
@@ -2250,8 +2277,14 @@ The specified functions are exported from package ASDF.
    or a symbol (fbound to function that when called returns one of the above).
 @end defun
 
+@defun disable-output-translations
+   will initialize output translations in a way
+   that maps every pathname to itself,
+   effectively disabling the output translation facility.
+@end defun
+
 @defun clear-output-translations
-   undoes any output location configuration
+   undoes any output translation configuration
    and clears any cache for the mapping algorithm.
    You might want to call that before you
    dump an image that would be resumed with a different configuration,