=== modified file 'asdf.lisp'
--- asdf.lisp	2011-06-02 02:07:52 +0000
+++ asdf.lisp	2011-06-03 12:08:59 +0000
@@ -2594,7 +2594,7 @@
   (%remove-component-inline-methods component)
   (%define-component-inline-methods component rest))
 
-(defun* parse-component-form (parent options)
+(defun* parse-component-form (parent options &optional (reuse-instance t))
   (destructuring-bind
         (type name &rest rest &key
               ;; the following list of keywords is reproduced below in the
@@ -2629,7 +2629,7 @@
                           depends-on serial in-order-to)
                         rest))
            (ret
-            (or (find-component parent name)
+            (or (and reuse-instance (find-component parent name))
                 (make-instance (class-for-type parent type)))))
       (when weakly-depends-on
         (appendf depends-on (remove-if (complement #'find-system) weakly-depends-on)))

