diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java index baacb03efb2c..c8212fe82848 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java @@ -575,9 +575,9 @@ public final class IdeKeyEventDispatcher implements Disposable { public void performAction(@NotNull InputEvent e, @NotNull AnAction action, @NotNull AnActionEvent actionEvent) { e.consume(); - if (action instanceof ActionGroup) { + DataContext ctx = actionEvent.getDataContext(); + if (action instanceof ActionGroup && !((ActionGroup)action).canBePerformed(ctx)) { ActionGroup group = (ActionGroup)action; - DataContext ctx = actionEvent.getDataContext(); JBPopupFactory.getInstance() .createActionGroupPopup(group.getTemplatePresentation().getText(), group, ctx, JBPopupFactory.ActionSelectionAid.SPEEDSEARCH, false) .showInBestPositionFor(ctx);