diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 199a5d0f343..dba4679fb98 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -558,7 +558,9 @@ static DerivedMesh *getMeshDerivedMesh(Mesh *me, Object *ob, float (*vertCos)[3] if (vertCos) { int i; - mdm->verts = MEM_mallocN(sizeof(*mdm->verts)*me->totvert, "deformedVerts"); + /* copy the original verts to preserve flag settings; if this is too + * costly, must at least use MEM_callocN to clear flags */ + mdm->verts = MEM_dupallocN( me->mvert ); for (i=0; itotvert; i++) { VECCOPY(mdm->verts[i].co, vertCos[i]); }