diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 9da37895ec..1d286971d4 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -4890,7 +4890,21 @@ static void ChangeTileOwner_Station(TileIndex tile, Owner old_owner, Owner new_o } else { if (IsDriveThroughStopTile(tile)) { /* Remove the drive-through road stop */ - DoCommand(tile, 1 | 1 << 8, (GetStationType(tile) == STATION_TRUCK) ? ROADSTOP_TRUCK : ROADSTOP_BUS, DC_EXEC | DC_BANKRUPT, CMD_REMOVE_ROAD_STOP); + uint p2; + switch (GetStationType(tile)) { + case STATION_BUS: + p2 = ROADSTOP_BUS; + break; + case STATION_TRUCK: + p2 = ROADSTOP_TRUCK; + break; + case STATION_ROADWAYPOINT: + p2 = (1 << 2); + break; + default: + NOT_REACHED(); + } + DoCommand(tile, 1 | 1 << 8, p2, DC_EXEC | DC_BANKRUPT, CMD_REMOVE_ROAD_STOP); assert_tile(IsTileType(tile, MP_ROAD), tile); /* Change owner of tile and all roadtypes */ ChangeTileOwner(tile, old_owner, new_owner);