diff --git a/waypoint.c b/waypoint.c --- a/waypoint.c +++ b/waypoint.c @@ -244,6 +244,7 @@ int32 CmdBuildTrainWaypoint(TileIndex ti UpdateWaypointSign(wp); RedrawWaypointSign(wp); + YapfNotifyTrackLayoutChange(tile, AxisToTrack(axis)); } return _price.build_train_depot; @@ -274,6 +275,7 @@ int32 RemoveTrainWaypoint(TileIndex tile } if (flags & DC_EXEC) { + Track track = GetRailWaypointTrack(tile); wp = GetWaypointByTile(tile); wp->deleted = 30; // let it live for this many days before we do the actual deletion. @@ -284,9 +286,9 @@ int32 RemoveTrainWaypoint(TileIndex tile MarkTileDirtyByTile(tile); } else { DoClearSquare(tile); - SetSignalsOnBothDir(tile, GetRailWaypointTrack(tile)); - YapfNotifyTrackLayoutChange(tile, GetRailWaypointTrack(tile)); + SetSignalsOnBothDir(tile, track); } + YapfNotifyTrackLayoutChange(tile, track); } return _price.remove_train_depot;