diff --git a/waypoint.c b/waypoint.c index b115ad08de..23e1ceaadf 100644 --- a/waypoint.c +++ b/waypoint.c @@ -205,7 +205,11 @@ int32 CmdBuildTrainWaypoint(int x, int y, uint32 flags, uint32 p1, uint32 p2) _m[tile].m3 |= 16; _m[tile].m4 = p1 & 0xff; } - if (reserved) PBSReserveTrack(tile, dir); + if (reserved) { + PBSReserveTrack(tile, dir); + } else { + PBSClearTrack(tile, dir); + } wp->deleted = 0; wp->xy = tile; @@ -279,7 +283,11 @@ int32 RemoveTrainWaypoint(TileIndex tile, uint32 flags, bool justremove) ModifyTile(tile, MP_MAP5, 1<