diff --git a/src/newgrf_badge_config.cpp b/src/newgrf_badge_config.cpp index a1da087efb..c97d8427bd 100644 --- a/src/newgrf_badge_config.cpp +++ b/src/newgrf_badge_config.cpp @@ -118,14 +118,16 @@ void ResetBadgeClassConfiguration(GrfSpecFeature feature) */ std::pair GetBadgeClassConfigItem(GrfSpecFeature feature, std::string_view label) { - auto config = GetBadgeClassConfiguration(feature); - auto found = std::ranges::find(config, label, &BadgeClassConfigItem::label); - if (found == std::end(config)) { - return {BadgeClassConfig::EMPTY_CONFIG_ITEM, 0}; + if (BadgeClassConfig::CONFIGURABLE_FEATURES.Test(feature)) { + auto config = GetBadgeClassConfiguration(feature); + auto found = std::ranges::find(config, label, &BadgeClassConfigItem::label); + if (found != std::end(config)) { + /* Sort order is simply the position in the configuration list. */ + return {*found, static_cast(std::distance(std::begin(config), found))}; + } } - /* Sort order is simply the position in the configuration list. */ - return {*found, static_cast(std::distance(std::begin(config), found))}; + return {BadgeClassConfig::EMPTY_CONFIG_ITEM, 0}; } /**