diff -r 86af33783c5e -r f3889bf9d638 src/road_cmd.cpp --- a/src/road_cmd.cpp Sat Sep 13 17:26:44 2008 +0000 +++ b/src/road_cmd.cpp Sat Sep 13 17:37:18 2008 +0000 @@ -523,10 +523,11 @@ } break; case ROAD_TILE_CROSSING: - if (HasTileRoadType(tile, rt)) return_cmd_error(STR_1007_ALREADY_BUILT); other_bits = GetCrossingRoadBits(tile); if (pieces & ComplementRoadBits(other_bits)) goto do_clear; pieces = other_bits; // we need to pay for both roadbits + + if (HasTileRoadType(tile, rt)) return_cmd_error(STR_1007_ALREADY_BUILT); break; default: @@ -578,11 +579,12 @@ case MP_STATION: { if (!IsDriveThroughStopTile(tile)) goto do_clear; - if (HasTileRoadType(tile, rt)) return_cmd_error(STR_1007_ALREADY_BUILT); RoadBits curbits = AxisToRoadBits(DiagDirToAxis(GetRoadStopDir(tile))); if (pieces & ~curbits) goto do_clear; pieces = curbits; // we need to pay for both roadbits + + if (HasTileRoadType(tile, rt)) return_cmd_error(STR_1007_ALREADY_BUILT); } break; case MP_TUNNELBRIDGE: