diff --git a/src/blenderbim/blenderbim/tool/geometry.py b/src/blenderbim/blenderbim/tool/geometry.py index 77c8c7eefb..3133115c62 100644 --- a/src/blenderbim/blenderbim/tool/geometry.py +++ b/src/blenderbim/blenderbim/tool/geometry.py @@ -470,8 +470,15 @@ class Geometry(blenderbim.core.tool.Geometry): usage_count = [0] * len(obj.material_slots) if not usage_count: # if there are no materials, polygons will still use index 0 return [] + for poly in obj.data.polygons: usage_count[poly.material_index] += 1 + + # remove usages for empty material slots + for i, slot in reversed(list(enumerate(obj.material_slots))): + if not slot.material: + del usage_count[i] + styles = [style for style, usage in zip(styles, usage_count, strict=True) if usage > 0] return styles