diff --git a/src/openrct2-ui/windows/TrackList.cpp b/src/openrct2-ui/windows/TrackList.cpp index e48a0418df..ae5ad5ac37 100644 --- a/src/openrct2-ui/windows/TrackList.cpp +++ b/src/openrct2-ui/windows/TrackList.cpp @@ -337,7 +337,10 @@ static void window_track_list_mouseup(rct_window* w, rct_widgetindex widgetIndex // Keep the highlighted item selected if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER) { - w->selected_list_item = _filteredTrackIds[w->selected_list_item]; + if (w->selected_list_item != -1 && _filteredTrackIds.size() > static_cast(w->selected_list_item)) + w->selected_list_item = _filteredTrackIds[w->selected_list_item]; + else + w->selected_list_item = -1; } else {