diff --git a/asdf.lisp b/asdf.lisp
index 5af79291d14eaf08ce55cd42689af9f8a1368813..cf3e236c912108a65605f4f369bebba0a7bea7e8 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,4 +1,4 @@
-;;; This is asdf: Another System Definition Facility.  $Revision: 1.89 $
+;;; This is asdf: Another System Definition Facility.  $Revision: 1.90 $
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome: please mail to
 ;;; <cclan-list@lists.sf.net>.  But note first that the canonical
@@ -109,7 +109,7 @@
 
 (in-package #:asdf)
 
-(defvar *asdf-revision* (let* ((v "$Revision: 1.89 $")
+(defvar *asdf-revision* (let* ((v "$Revision: 1.90 $")
 			       (colon (or (position #\: v) -1))
 			       (dot (position #\. v)))
 			  (and v colon dot 
@@ -760,6 +760,11 @@ system."))
   (cons (list 'compile-op (component-name c))
         (call-next-method)))
 
+(defmethod asdf:perform :after ((operation load-op) (s system))
+  "After a system is loaded by ASDF, push ASDF-SYSTEMNAME onto *features*
+This enables easy use of #+asdf-systemname and friends"
+  (pushnew (intern (format nil "ASDF-~A" (string-upcase (component-name s))) :keyword) cl:*features*))
+
 ;;; load-source-op
 
 (defclass load-source-op (operation) ())