diff --git a/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/AspectLifecycleAnnotation.java b/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/AspectLifecycleAnnotation.java
index ec591d4..cb50278 100644
--- a/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/AspectLifecycleAnnotation.java
+++ b/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/AspectLifecycleAnnotation.java
@@ -44,7 +44,9 @@
 
     @Component
     public static class ServiceProvider implements ServiceInterface {
-        @ServiceDependency(filter = "(name=aspectLifecycle.ServiceProvider)")
+        public final static String ENSURE = "AspectLifecycleAnnotation.ServiceProvider";
+        
+        @ServiceDependency(filter = "(name=" + ENSURE + ")")
         protected volatile Ensure m_sequencer;
 
         public void run() {
@@ -54,10 +56,12 @@
 
     @AspectService(ranking = 10)
     public static class ServiceProviderAspect implements ServiceInterface {
+        public final static String ENSURE = "AspectLifecycleAnnotation.ServiceProviderAspect";
+
         protected volatile boolean m_initCalled;
         protected volatile Ensure m_sequencer;
 
-        @ServiceDependency(filter = "(name=aspectLifecycle.ServiceProviderAspect)")
+        @ServiceDependency(filter = "(name=" + ENSURE + ")")
         protected void bind(Ensure sequencer) {
             m_sequencer = sequencer;
             m_sequencer.step(2);
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java
index a2a89c1..4c219e3 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java
@@ -18,6 +18,8 @@
 */
 package org.apache.felix.dependencymanager.test2.integration.annotations;
 
+import org.apache.felix.dependencymanager.test2.components.AspectLifecycleAnnotation.ServiceProvider;
+import org.apache.felix.dependencymanager.test2.components.AspectLifecycleAnnotation.ServiceProviderAspect;
 import org.apache.felix.dependencymanager.test2.components.Ensure;
 import org.apache.felix.dependencymanager.test2.integration.common.TestBase;
 import org.junit.Test;
@@ -35,11 +37,11 @@
     public void testAnnotatedAspect() {
         Ensure e = new Ensure();
         // Provide the Sequencer server to the ServiceProvider service
-        ServiceRegistration sr1 = register(e, "aspectLifecycle.ServiceProvider");                
+        ServiceRegistration sr1 = register(e, ServiceProvider.ENSURE);                
         // Check if the ServiceProvider has been injected in the AspectTest service.
         e.waitForStep(1, 10000);
         // Provide the Sequencer server to the ServiceProviderAspect service
-        ServiceRegistration sr2 = register(e, "aspectLifecycle.ServiceProviderAspect");        
+        ServiceRegistration sr2 = register(e, ServiceProviderAspect.ENSURE);        
         // Check if the AspectTest has been injected with the aspect
         e.waitForStep(3, 10000);
         // Stop the ServiceProviderAspect service.
