diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java index d08ed046c0..847975681b 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java @@ -119,7 +119,8 @@ public class ByteBuddyElementMatchers { // in {@code getSuperClass} calls TypeDefinition typeDefinition = target; while (typeDefinition != null) { - if ((!interfacesOnly && matcher.matches(typeDefinition.asGenericType())) + if (((!interfacesOnly || typeDefinition.isInterface()) + && matcher.matches(typeDefinition.asGenericType())) || hasInterface(typeDefinition, checkedInterfaces)) { return true; }