diff --git a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexProjectHandler.java b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexProjectHandler.java index ed677caae400..7e1994218251 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexProjectHandler.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexProjectHandler.java @@ -67,12 +67,15 @@ public class FileBasedIndexProjectHandler extends AbstractProjectComponent imple rootManager.registerRefreshUpdater(changedFilesUpdater); myIndex.registerIndexableSet(FileBasedIndexProjectHandler.this, project); projectManager.addProjectManagerListener(project, new ProjectManagerAdapter() { + private boolean removed = false; @Override public void projectClosing(Project project) { - projectManager.removeProjectManagerListener(this); - rootManager.unregisterRefreshUpdater(changedFilesUpdater); - rootManager.unregisterRootsChangeUpdater(unindexedFilesUpdater); - myIndex.removeIndexableSet(FileBasedIndexProjectHandler.this); + if (!removed) { + removed = true; + rootManager.unregisterRefreshUpdater(changedFilesUpdater); + rootManager.unregisterRootsChangeUpdater(unindexedFilesUpdater); + myIndex.removeIndexableSet(FileBasedIndexProjectHandler.this); + } } }); }