Index: town_cmd.c =================================================================== --- town_cmd.c (revision 3521) +++ town_cmd.c (working copy) @@ -813,8 +813,8 @@ for (ptr = _town_coord_mod; ptr != endof(_town_coord_mod); ++ptr) { FindLandscapeHeightByTile(&ti, tile); - // Only work with plain land that not already has a house with map5=0 - if (ti.tileh == 0 && (ti.type != MP_HOUSE || ti.map5 != 0)) { + // Only work with flat land that not already has a finished house + if (ti.tileh == 0 && (ti.type != MP_HOUSE || GB(_m[ti.tile].m3, 6, 2) != 0x3)) { if (!CmdFailed(DoCommandByTile(tile, 0, 0, DC_AUTO, CMD_LANDSCAPE_CLEAR))) { DoCommandByTile(tile, GenRandomRoadBits(), t->index, DC_EXEC | DC_AUTO, CMD_BUILD_ROAD); _current_player = old_player;