diff --git a/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java b/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java index 13c4e442c659..6bbe61bb712d 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java @@ -883,12 +883,12 @@ public class RefactoringUtil { final PsiSubstitutor substitutor, final PsiElementFactory factory) { for (PsiTypeParameter parameter : parametersIterable) { + PsiType substitutedType = substitutor.substitute(parameter); + if (substitutedType == null) { + substitutedType = TypeConversionUtil.erasure(factory.createType(parameter)); + } for (PsiReference reference : ReferencesSearch.search(parameter, new LocalSearchScope(member))) { final PsiElement element = reference.getElement(); - PsiType substitutedType = substitutor.substitute(parameter); - if (substitutedType == null) { - substitutedType = TypeConversionUtil.erasure(factory.createType(parameter)); - } final PsiElement parent = element.getParent(); if (parent instanceof PsiTypeElement) { parent.replace(factory.createTypeElement(substitutedType));