diff --git a/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Component.java b/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Component.java
index 7c4c84e..5a1bf9d 100644
--- a/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Component.java
+++ b/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Component.java
@@ -111,7 +111,7 @@
      * Set the metatype factory pid property (only for non factory components).
      * @since 1.0
      */
-    boolean getMetatypeFactoryPid() default false;
+    boolean getConfigurationFactory() default false;
 
     /**
      * The configuration policy
diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/Constants.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/Constants.java
index ca9bd35..9dff339 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/Constants.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/Constants.java
@@ -56,7 +56,7 @@
 
     public static final String COMPONENT_CREATE_PID = "create-pid";
 
-    public static final String COMPONENT_SET_METATYPE_FACTORY_PID = "set-metatype-factory-pid";
+    public static final String COMPONENT_SET_METATYPE_FACTORY_PID = "configurationFactory";
 
     // The component configuration policy (V1.1)
     public static final String COMPONENT_CONFIG_POLICY = "policy";
diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java
index 6854589..96cb08d 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java
@@ -94,8 +94,8 @@
                 return Util.getEnumValue(annotation, "policy", ConfigurationPolicy.class, Component.class, false);
             }
 
-            public boolean getMetatypeFactoryPid() {
-                return Util.getBooleanValue(annotation, "getMetatypeFactoryPid", Component.class);
+            public boolean getConfigurationFactory() {
+                return Util.getBooleanValue(annotation, "getConfigurationFactory", Component.class);
             }
 
             public Class<? extends java.lang.annotation.Annotation> annotationType() {
@@ -118,7 +118,7 @@
         map.put(Constants.COMPONENT_DESCRIPTION, emptyToNull(this.annotation.description()));
         map.put(Constants.COMPONENT_ENABLED, String.valueOf(this.annotation.enabled()));
         map.put(Constants.COMPONENT_FACTORY, emptyToNull(this.annotation.factory()));
-        map.put(Constants.COMPONENT_SET_METATYPE_FACTORY_PID, String.valueOf(this.annotation.getMetatypeFactoryPid()));
+        map.put(Constants.COMPONENT_SET_METATYPE_FACTORY_PID, String.valueOf(this.annotation.getConfigurationFactory()));
 
         // FELIX-593: immediate attribute does not default to true all the
         // times hence we only set it if declared in the tag
