diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index 6c9c614af9..2bc85f9acb 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -399,7 +399,8 @@ static uint32 GetDistanceFromNearbyHouse(uint8 parameter, TileIndex tile, HouseI case 0x66: { TileIndex testtile = GetNearbyTile(parameter, this->tile); if (!IsTileType(testtile, MP_HOUSE)) return 0xFFFFFFFF; - HouseSpec *hs = HouseSpec::Get(GetHouseType(testtile)); + HouseID nearby_house_id = GetHouseType(testtile); + HouseSpec *hs = HouseSpec::Get(nearby_house_id); /* Information about the grf local classid if the house has a class */ uint houseclass = 0; if (hs->class_id != HOUSE_NO_CLASS) { @@ -408,8 +409,8 @@ static uint32 GetDistanceFromNearbyHouse(uint8 parameter, TileIndex tile, HouseI } /* old house type or grf-local houseid */ uint local_houseid = 0; - if (this->house_id < NEW_HOUSE_OFFSET) { - local_houseid = this->house_id; + if (nearby_house_id < NEW_HOUSE_OFFSET) { + local_houseid = nearby_house_id; } else { local_houseid = (hs->grf_prop.grffile == this->ro.grffile ? 1 : 2) << 8; local_houseid |= hs->grf_prop.local_id;