diff --git a/tile.cpp b/tile.cpp index 33870f48..1dcd3237 100644 --- a/tile.cpp +++ b/tile.cpp @@ -614,8 +614,11 @@ void *partial_feature_worker(void *v) { drawvec geom = (*partials)[i].geoms[0]; if (t == VT_POLYGON) { - geom = clean_or_clip_poly(geom, 0, 0, false, false); - fix_by_triangulation(geom, z, out_detail); + drawvec cleaned = clean_or_clip_poly(geom, 0, 0, false, false); + drawvec fixed = fix_by_triangulation(geom, z, out_detail); + if (fixed != cleaned) { + geom = fixed; + } } to_tile_scale(geom, z, out_detail);