diff --git a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java index e30de51238de..90b46bbc8a6e 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java @@ -122,13 +122,15 @@ public class MoveFilesOrDirectoriesProcessor extends BaseRefactoringProcessor { } else if (element instanceof PsiFile) { final PsiFile movedFile = (PsiFile)element; - MoveFileHandler.forElement(movedFile).prepareMovedFile(movedFile, myNewParent, oldToNewMap); FileReferenceContextUtil.encodeFileReferences(element); + MoveFileHandler.forElement(movedFile).prepareMovedFile(movedFile, myNewParent, oldToNewMap); - if (myNewParent.findFile(movedFile.getName()) == null) { + PsiFile moving = myNewParent.findFile(movedFile.getName()); + if (moving == null) { MoveFilesOrDirectoriesUtil.doMoveFile(movedFile, myNewParent); } - movedFiles.add(movedFile); + moving = myNewParent.findFile(movedFile.getName()); + movedFiles.add(moving); } getTransaction().getElementListener(element).elementMoved(element);