diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 0b07303cb8..fb31609d6d 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -741,6 +741,9 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec if (flags & DC_EXEC) { /* A full diagonal road tile has two road bits. */ UpdateCompanyRoadInfrastructure(existing_rt, GetRoadOwner(tile, rtt), -2); + if (rtt == RTT_ROAD) { + SetDriveThroughStopDisallowedRoadDirections(tile, DRD_NONE); + } SetRoadType(tile, rtt, INVALID_ROADTYPE); MarkTileDirtyByTile(tile); NotifyRoadLayoutChanged(false); @@ -814,6 +817,7 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec const Town *town = CalcClosestTownFromTile(tile); SetTownIndex(tile, town == nullptr ? INVALID_TOWN : town->index); } + if (rtt == RTT_ROAD) SetDisallowedRoadDirections(tile, DRD_NONE); SetRoadBits(tile, ROAD_NONE, rtt); SetRoadType(tile, rtt, INVALID_ROADTYPE); MarkTileDirtyByTile(tile);