diff --git a/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java b/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java
index 3db12c4..3da23a7 100644
--- a/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java
+++ b/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/JavaClassDescriptorManager.java
@@ -394,7 +394,8 @@
                         // QDox if none found
                         Class<?> clazz = this.classloader.loadClass( className );
                         if ( this.processAnnotations
-                            && getAnnotationTagProviderManager().hasScrPluginAnnotation( javaClass ) )
+                            && getAnnotationTagProviderManager().hasScrPluginAnnotation( javaClass,
+                                    new AnnotationJavaClassDescription( clazz, javaClasses[index], this )) )
                         {
                             this.log.debug( "Found java annotation description for: " + className );
                             result = new AnnotationJavaClassDescription( clazz, javaClasses[index], this );
diff --git a/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/AnnotationTagProviderManager.java b/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/AnnotationTagProviderManager.java
index 1d0e1f9..3ca4818 100644
--- a/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/AnnotationTagProviderManager.java
+++ b/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/AnnotationTagProviderManager.java
@@ -169,11 +169,11 @@
      * @param pClass Class
      * @return true if SCR plugin java annotation found
      */
-    public boolean hasScrPluginAnnotation( JavaClass pClass )
+    public boolean hasScrPluginAnnotation( final JavaClass pClass, final AnnotationJavaClassDescription description )
     {
         for ( com.thoughtworks.qdox.model.Annotation annotation : pClass.getAnnotations() )
         {
-            if ( getTags( annotation, null ).size() > 0 )
+            if ( getTags( annotation, description ).size() > 0 )
             {
                 return true;
             }
