diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index b67e4954064..0c6377fea0a 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -5801,7 +5801,10 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob) /* Copy newly evaluated fields to the original object, similar to how * active dependency graph will do it. */ copy_m4_m4(ob->obmat, object_eval->obmat); - ob->transflag = object_eval->transflag; + /* Hack over hack, looks like in some cases eval object has not yet been fully flushed or so? + * In some cases, macro operators starting transform just after creating a new object (OBJECT_OT_duplicate), + * if dupli flags are not protected, they can be erased here (see T61787). */ + ob->transflag = (object_eval->transflag & ~(OB_DUPLI | OB_DUPLIFACES_SCALE | OB_DUPLIROT)); td->ob = ob;