diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 631e3dee0a..495c601196 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2746,7 +2746,7 @@ void DrawSingleSignal(TileIndex tile, const RailtypeInfo *rti, Track track, Sign is_custom_sprite = file != nullptr && (file->flags & SFF_USERGRF) && !(file->flags & SFF_OGFX); } - if (is_custom_sprite && show_restricted && _settings_client.gui.show_restricted_signal_default && !result.restricted_valid) { + if (is_custom_sprite && show_restricted && _settings_client.gui.show_restricted_signal_default && !result.restricted_valid && variant == SIG_ELECTRIC) { /* Use duplicate sprite block, instead of GRF-specified signals */ if (type == SIGTYPE_PROG) { if (variant == SIG_SEMAPHORE) { @@ -2768,7 +2768,7 @@ void DrawSingleSignal(TileIndex tile, const RailtypeInfo *rti, Track track, Sign is_custom_sprite = false; } - if (!is_custom_sprite && show_restricted) { + if (!is_custom_sprite && show_restricted && variant == SIG_ELECTRIC) { if (type == SIGTYPE_PBS || type == SIGTYPE_PBS_ONEWAY) { static const SubSprite lower_part = { -50, -10, 50, 50 }; static const SubSprite upper_part = { -50, -50, 50, -11 }; @@ -2792,7 +2792,7 @@ static void DrawSingleSignal(TileIndex tile, const RailtypeInfo *rti, Track trac SignalType type = GetSignalType(tile, track); SignalVariant variant = GetSignalVariant(tile, track); - bool show_restricted = (variant == SIG_ELECTRIC) && IsRestrictedSignal(tile) && (GetExistingTraceRestrictProgram(tile, track) != nullptr); + bool show_restricted = IsRestrictedSignal(tile) && (GetExistingTraceRestrictProgram(tile, track) != nullptr); DrawSingleSignal(tile, rti, track, condition, image, pos, type, variant, show_restricted); }