diff --git a/src/newgrf.cpp b/src/newgrf.cpp index bd283fa6d8..108eef1c96 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -5781,7 +5781,7 @@ static void TownHouseMapSpriteGroup(ByteReader *buf, uint8 idcount) if (!IsValidGroupID(groupid, "TownHouseMapSpriteGroup")) return; for (uint i = 0; i < idcount; i++) { - HouseSpec *hs = _cur.grffile->housespec[houses[i]]; + HouseSpec *hs = houses[i] >= NUM_HOUSES_PER_GRF ? nullptr : _cur.grffile->housespec[houses[i]]; if (hs == nullptr) { grfmsg(1, "TownHouseMapSpriteGroup: House %d undefined, skipping.", houses[i]);