diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 3fb8034c74..cbad915d4d 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -263,7 +263,7 @@ int32 CmdBuildRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) /* Road pieces are max 4 bitset values (NE, NW, SE, SW) and town can only be non-zero * if a non-player is building the road */ - if ((p1 >> 4) || (IsValidPlayer(_current_player) && p2 != 0) || !IsValidTownID(p2)) return CMD_ERROR; + if ((p1 >> 4) || (IsValidPlayer(_current_player) && p2 != 0) || (_current_player == OWNER_TOWN && !IsValidTownID(p2))) return CMD_ERROR; pieces = (RoadBits)p1; tileh = GetTileSlope(tile, NULL);