diff --git a/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java b/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java
index 0a95731..fa24dfd 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java
@@ -165,7 +165,7 @@
                         m_componentRegistry.checkComponentName( metadata.getName() );
 
                         // validate the component metadata
-                        metadata.validate();
+                        metadata.validate( this );
 
                         // Request creation of the component manager
                         ComponentManager manager;
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java b/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java
index b837989..ecc798e 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java
@@ -27,6 +27,7 @@
 import java.util.List;
 
 import org.osgi.service.component.ComponentException;
+import org.osgi.service.log.LogService;
 
 
 /**
@@ -318,6 +319,15 @@
      */
     void validate()
     {
+        validate( null );
+    }
+
+
+    /**
+     * Method used to verify if the semantics of this metadata are correct
+     */
+    void validate( BundleComponentActivator bundleComponentActivator )
+    {
         // nothing to do if already validated
         if ( m_validated )
         {
@@ -363,7 +373,11 @@
             // flag duplicates
             if ( !refs.add( refMeta.getName() ) )
             {
-                throw validationFailure( "Detected duplicate reference name: \"" + refMeta.getName() + "\"" );
+                if ( bundleComponentActivator != null )
+                {
+                    bundleComponentActivator.log( LogService.LOG_WARNING, "Detected duplicate reference name: \""
+                        + refMeta.getName() + "\"", this, null );
+                }
             }
         }
 
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java b/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java
index 78213ef..1f05b43 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java
@@ -259,9 +259,6 @@
             if ( localName.equals( "component" ) )
             {
                 this.isComponent = false;
-                // When the closing tag for a component is found, the component is validated to check if
-                // the implementation class has been set
-                m_currentComponent.validate();
             }
             else if ( localName.equals( "property" ) && m_pendingProperty != null )
             {
