diff --git a/src/frontend/mame/ui/selgame.cpp b/src/frontend/mame/ui/selgame.cpp index 07b8d03d043..bcdd49239cc 100644 --- a/src/frontend/mame/ui/selgame.cpp +++ b/src/frontend/mame/ui/selgame.cpp @@ -442,7 +442,7 @@ void menu_select_game::populate(float &customtop, float &custombottom) item_append(_("System Settings"), 0, (void *)(uintptr_t)CONF_MACHINE); skip_main_items = 3; - if (m_prev_selected && !have_prev_selected) + if (m_prev_selected && !have_prev_selected && item_count() > 0) m_prev_selected = item(0).ref(); } else diff --git a/src/frontend/mame/ui/selsoft.cpp b/src/frontend/mame/ui/selsoft.cpp index da4ad722f2f..051b09b4fcf 100644 --- a/src/frontend/mame/ui/selsoft.cpp +++ b/src/frontend/mame/ui/selsoft.cpp @@ -397,7 +397,7 @@ menu_select_software::~menu_select_software() void menu_select_software::handle(event const *ev) { - if (m_prev_selected == nullptr) + if (m_prev_selected == nullptr && item_count() > 0) m_prev_selected = item(0).ref(); // FIXME: everything above here used run before events were processed