diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java
index 6d1fb49..16eac5d 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/cl/ClassLoaderJavaClassDescription.java
@@ -240,20 +240,15 @@
         if ( this.clazz.getName().equals(type) ) {
             return true;
         }
-        return this.testClass(this.clazz, type);
-    }
 
-    protected boolean testClass(Class<?> c, String type) {
-        final Class<?>[] interfaces = c.getInterfaces();
-        for(int i=0; i<interfaces.length; i++) {
-            if ( interfaces[i].getName().equals(type) ) {
-                return true;
-            }
-            if ( this.testClass(interfaces[i], type) ) {
-                return true;
-            }
+        try {
+            Class<?> typeClass = this.clazz.getClassLoader().loadClass( type );
+            return typeClass.isAssignableFrom( this.clazz );
+        } catch (ClassNotFoundException cnfe) {
+            // cannot load the check type through the class' class loader
+            // thus we assume clazz is not a type
+            return false;
         }
-        return false;
     }
 
     /**
