--- Central.java +++ Central.java @@ -891,8 +891,14 @@ } model.removeModeTopComponent(mode, tc, recentTc); String id = WindowManagerImpl.getInstance().findTopComponentID(tc); + /** BugId #109098 + * make sure you call this only on TCs that are NOT TC.PERSISTENT_ALWAYS + */ + if(!(tc.getPersistenceType()==TopComponent.PERSISTENCE_ALWAYS)){ PersistenceManager.getDefault().removeGlobalTopComponentID(id); + } + ModeImpl oldActive = getActiveMode(); ModeImpl newActive; if(model.getModeOpenedTopComponents(mode).isEmpty() && mode == oldActive) {