diff --git a/uiop/uiop.asd b/uiop/uiop.asd
index 0b3aa5807491b56c60068d77ccb19457d6bbec36..2b46b4f4f55ab71ad2b6e8a51d2572fdc821fc54 100644
--- a/uiop/uiop.asd
+++ b/uiop/uiop.asd
@@ -1,8 +1,8 @@
 ;;; -*- mode: lisp -*-
 (in-package :asdf)
 
-(unless (or (member :asdf3 *features*)
-            (and (member :asdf2 *features*) (version-satisfies (asdf:asdf-version) "2.11.4")))
+#-asdf3
+(unless (or #+asdf2 (version-satisfies (asdf:asdf-version) "2.11.4"))
   (error "UIOP requires ASDF 2.011.4 or later."))
 
 (defun call-without-redefinition-warnings (thunk)
@@ -14,15 +14,20 @@
                    #'muffle-warning))
     (funcall thunk)))
 
-(defsystem :uiop
+(defsystem "uiop"
+  #+asdf3 :long-name #+asdf3 "Utilities for Implementation- and OS- Portability"
+  :description "Portability library for Common Lisp programs"
+  :long-description "UIOP provides runtime support for Common Lisp programs:
+Basic general-purpose utilities that are in such a need that you can't portably construct a
+complete program without using some of them. UIOP replaces ASDF/DRIVER and ASDF-UTILS, and offers a
+superset of the functionality provided by CL-FAD, EXTERNAL-PROGRAM, TRIVIAL-SHELL, TRIVIAL-BACKTRACE
+and a lot of the functionality formerly provided by CL-LAUNCH, XCVB-DRIVER, TRIVIAL-FEATURES,
+plus a tiny subset of functionality from ALEXANDRIA and FARE-UTILS.
+It is transcluded into asdf.lisp together with ASDF/DEFSYSTEM, so if you did (require \"asdf\")
+you already have a matching UIOP loaded."
+  :author "Francois-Rene Rideau"
   :licence "MIT"
   :class #.(if (find-class 'package-system nil) 'package-system 'system)
-  #+asdf3 :long-name #+asdf3 "Utilities for Implementation- and OS- Portability"
-  :description "Runtime support for Common Lisp programs"
-  :long-description "Basic general-purpose utilities that are in such a need
-that you can't portably construct a complete program without using them.
-UIOP is also known as ASDF/DRIVER or ASDF-UTILS,
-being transcluded into asdf.lisp together with ASDF/DEFSYSTEM."
   #+asdf3 :version #+asdf3 (:read-file-form "version.lisp-expr")
   #+asdf-unicode :encoding #+asdf-unicode :utf-8
   #+asdf3 :around-compile #+asdf3 call-without-redefinition-warnings