diff --git a/src/kits/interface/MenuBar.cpp b/src/kits/interface/MenuBar.cpp index 73af461a1e..0e6c4a9ea8 100644 --- a/src/kits/interface/MenuBar.cpp +++ b/src/kits/interface/MenuBar.cpp @@ -421,8 +421,11 @@ BMenuBar::Track(int32 *action, int32 startIndex, bool showMenu) } if (window->Lock()) { - if (fSelected != NULL) + if (fSelected != NULL) { + if (fSelected->Submenu() == NULL) + resultItem = fSelected; SelectItem(NULL); + } if (resultItem != NULL) resultItem->Invoke(); window->Unlock();