Index: src/org/jboss/tools/common/model/ui/texteditors/AbstractMultiPageContributor.java =================================================================== --- src/org/jboss/tools/common/model/ui/texteditors/AbstractMultiPageContributor.java (revision 20310) +++ src/org/jboss/tools/common/model/ui/texteditors/AbstractMultiPageContributor.java (working copy) @@ -230,7 +230,19 @@ }; Map used = new HashMap(); - Map registered = new HashMap(); + Map registered = new HashMap(); + + class Deactivator { + IHandlerService service; + IHandlerActivation handler; + Deactivator(IHandlerService service, IHandlerActivation handler) { + this.service = service; + this.handler = handler; + } + void deactivate() { + service.deactivateHandler(handler); + } + } public void registerKeyBindings(IHandlerService handler, String[] actions, ITextEditor editor) { for (int i = 0; i < actions.length; i++) { @@ -250,10 +262,10 @@ used.put(action, h); } String id = action.getId(); - IHandlerActivation c = registered.get(id); - if(c != null) handler.deactivateHandler(c); + Deactivator c = registered.remove(command); + if(c != null) c.deactivate(); IHandlerActivation a = handler.activateHandler(command, h); - if(a != null) registered.put(id, a); + if(a != null) registered.put(command, new Deactivator(handler, a)); } public void dispose() {