diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -454,7 +454,15 @@ CommandCost CmdBuildSingleRail(TileIndex default: break; case ROADTYPES_TRAM: /* Tram crossings must always have road. */ - if (flags & DC_EXEC) SetRoadOwner(tile, ROADTYPE_ROAD, _current_company); + if (flags & DC_EXEC) { + SetRoadOwner(tile, ROADTYPE_ROAD, _current_company); + Company *c = Company::GetIfValid(_current_company); + if (c != NULL) { + /* A full diagonal tile has two road bits. */ + c->infrastructure.road[ROADTYPE_ROAD] += 2; + DirtyCompanyInfrastructureWindows(c->index); + } + } roadtypes |= ROADTYPES_ROAD; break;