diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index c8251258f9..85104cc8d1 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1433,9 +1433,11 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, SmallVector &affected } } + bool build_rail = keep_rail && !IsStationTileBlocked(tile); + DoClearSquare(tile); DeleteNewGRFInspectWindow(GSF_STATIONS, tile); - if (keep_rail) MakeRailNormal(tile, owner, TrackToTrackBits(track), rt); + if (build_rail) MakeRailNormal(tile, owner, TrackToTrackBits(track), rt); st->rect.AfterRemoveTile(st, tile); AddTrackToSignalBuffer(tile, track, owner);