diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index 636f5e6c2b..7f5586b1e1 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -241,7 +241,7 @@ static void GenericPlaceSignals(TileIndex tile) Command::Post(STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM, CcPlaySound_CONSTRUCTION_RAIL, tile, track); } else { /* Which signals should we cycle through? */ - bool tile_has_signal = IsValidTrack(track) && HasSignalOnTrack(tile, track); + bool tile_has_signal = IsPlainRailTile(tile) && IsValidTrack(track) && HasSignalOnTrack(tile, track); SignalType cur_signal_on_tile = tile_has_signal ? GetSignalType(tile, track) : _cur_signal_type; SignalType cycle_start; SignalType cycle_end;