diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index bd137d4c507..2768d9412d7 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -690,6 +690,13 @@ static DerivedMesh *arrayModifier_doArray( } /* done capping */ + /* In case org dm has dirty normals, or we made some merging, mark normals as dirty in new dm! + * TODO: we may need to set other dirty flags as well? + */ + if ((dm->dirty & DM_DIRTY_NORMALS) || full_doubles_map) { + result->dirty |= DM_DIRTY_NORMALS; + } + /* Handle merging */ tot_doubles = 0; if (full_doubles_map) {