diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 63b6631d17..67de2048f3 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2139,6 +2139,8 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1 Track end_track = FindFirstTrack(GetAcrossTunnelBridgeTrackBits(end)); Company *c = Company::Get(GetTileOwner(tile)); c->infrastructure.signal -= GetTunnelBridgeSignalSimulationSignalCount(tile, end); + TraceRestrictNotifySignalRemoval(tile, track); + TraceRestrictNotifySignalRemoval(end, end_track); ClearBridgeTunnelSignalSimulation(end, tile); ClearBridgeTunnelSignalSimulation(tile, end); MarkBridgeOrTunnelDirty(tile); @@ -2146,8 +2148,6 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1 AddSideToSignalBuffer(end, INVALID_DIAGDIR, GetTileOwner(tile)); YapfNotifyTrackLayoutChange(tile, track); YapfNotifyTrackLayoutChange(end, end_track); - TraceRestrictNotifySignalRemoval(tile, track); - TraceRestrictNotifySignalRemoval(end, end_track); DirtyCompanyInfrastructureWindows(GetTileOwner(tile)); for (Train *v : re_reserve_trains) { ReReserveTrainPath(v);