diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java index f1c897706ff5..233d8a417664 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java @@ -104,7 +104,7 @@ public abstract class InplaceRefactoring { protected String myAdvertisementText; private ArrayList myHighlighters; protected String myInitialName; - protected final String myOldName; + protected String myOldName; protected RangeMarker myBeforeRevert = null; protected String myInsertedName; protected LinkedHashSet myNameSuggestions; @@ -273,6 +273,14 @@ public abstract class InplaceRefactoring { return true; } else { + + if (!ourRenamersStack.isEmpty() && ourRenamersStack.peek() == this) { + ourRenamersStack.pop(); + if (!ourRenamersStack.empty()) { + myOldName = ourRenamersStack.peek().myOldName; + } + } + revertState(); final TemplateState templateState = TemplateManagerImpl.getTemplateState(InjectedLanguageUtil.getTopLevelEditor(myEditor)); if (templateState != null) {