diff --git a/source/blender/modifiers/intern/MOD_array.cc b/source/blender/modifiers/intern/MOD_array.cc index de19712c96b..72f3c019621 100644 --- a/source/blender/modifiers/intern/MOD_array.cc +++ b/source/blender/modifiers/intern/MOD_array.cc @@ -381,6 +381,15 @@ static Mesh *arrayModifier_doArray(ArrayModifierData *amd, { using namespace blender; if (mesh->totvert == 0) { + /* Output just the start cap even if the mesh is empty. */ + Object *start_cap_ob = amd->start_cap; + if (start_cap_ob && start_cap_ob != ctx->object) { + Mesh *start_cap_mesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(start_cap_ob); + if (start_cap_mesh) { + BKE_mesh_wrapper_ensure_mdata(start_cap_mesh); + return BKE_mesh_copy_for_eval(start_cap_mesh); + } + } return mesh; }