Index: src/org/aspectj/weaver/patterns/Pointcut.java =================================================================== RCS file: /home/technology/org.aspectj/modules/weaver/src/org/aspectj/weaver/patterns/Pointcut.java,v retrieving revision 1.33 diff -u -r1.33 Pointcut.java --- src/org/aspectj/weaver/patterns/Pointcut.java 5 Oct 2005 11:54:50 -0000 1.33 +++ src/org/aspectj/weaver/patterns/Pointcut.java 14 Nov 2005 09:34:11 -0000 @@ -104,6 +104,8 @@ private FuzzyBoolean lastMatchedShadowResult; private String[] typeVariablesInScope = new String[0]; + protected boolean hasBeenParameterized = false; + /** * Constructor for Pattern. */ Index: src/org/aspectj/weaver/patterns/ReferencePointcut.java =================================================================== RCS file: /home/technology/org.aspectj/modules/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java,v retrieving revision 1.33 diff -u -r1.33 ReferencePointcut.java --- src/org/aspectj/weaver/patterns/ReferencePointcut.java 21 Oct 2005 06:56:11 -0000 1.33 +++ src/org/aspectj/weaver/patterns/ReferencePointcut.java 14 Nov 2005 09:34:11 -0000 @@ -322,7 +322,10 @@ newBindings.pushEnclosingDefinition(pointcutDec); try { Pointcut ret = pointcutDec.getPointcut(); - if (typeVariableMap != null) ret = ret.parameterizeWith(typeVariableMap); + if (typeVariableMap != null && !hasBeenParameterized) { + ret = ret.parameterizeWith(typeVariableMap); + ret.hasBeenParameterized=true; + } return ret.concretize(searchStart, declaringType, newBindings); } finally { newBindings.popEnclosingDefinitition();