When the preserve_all_data_layers argument was passed, the object would be reevaluated, assuming the type of the original object data. However, the evaluated object type can change compared to the original, so to reevaluate the original mesh we need to check that the original object was also a mesh object. Pull Request: https://projects.blender.org/blender/blender/pulls/126407