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 55d8426..78213ef 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
@@ -59,6 +59,9 @@
     /** Override namespace. */
     protected String overrideNamespace;
 
+    /** Flag for elements inside a component element */
+    protected boolean isComponent = false;
+
 
     // creates an instance with the bundle owning the component descriptor
     // file parsed by this instance
@@ -94,6 +97,16 @@
         {
             uri = overrideNamespace;
         }
+
+        // FELIX-695: however the spec also states that the inner elements
+        // of a component are unqualified, so they don't have
+        // the namespace - we allow both: with or without namespace!
+        if ( this.isComponent && "".equals(uri) )
+        {
+            uri = NAMESPACE_URI;
+        }
+
+        // from now on uri points to the namespace
         if ( NAMESPACE_URI.equals( uri ) )
         {
             try
@@ -102,6 +115,7 @@
                 // 112.4.3 Component Element
                 if ( localName.equals( "component" ) )
                 {
+                    this.isComponent = true;
 
                     // Create a new ComponentMetadata
                     m_currentComponent = new ComponentMetadata();
@@ -235,10 +249,16 @@
             uri = overrideNamespace;
         }
 
+        if ( this.isComponent && "".equals(uri) )
+        {
+            uri = NAMESPACE_URI;
+        }
+
         if ( NAMESPACE_URI.equals( uri ) )
         {
             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();
