--- old/src/macosx/classes/sun/lwawt/LWChoicePeer.java 2014-05-12 18:24:59.694154071 +0400 +++ new/src/macosx/classes/sun/lwawt/LWChoicePeer.java 2014-05-12 18:24:59.578154067 +0400 @@ -171,7 +171,9 @@ SwingUtilities.invokeLater(() -> { JPopupMenu popupMenu = getPopupMenu(); // Need to override the invoker for proper grab handling - if (popupMenu != null && popupMenu.getInvoker() != getTarget()) { + if (popupMenu != null + && popupMenu.isShowing() + && popupMenu.getInvoker() != getTarget()) { // The popup is now visible with correct location // Save it and restore after toggling visibility and changing invoker Point loc = popupMenu.getLocationOnScreen();