diff --git a/space_view3d_copy_attributes.py b/space_view3d_copy_attributes.py
index 2b1ccebe7ac834922e7759f6f746afbe52aae9d1..a3b39144ccea6aa776cbfc00c2bed378d50a37b3 100644
--- a/space_view3d_copy_attributes.py
+++ b/space_view3d_copy_attributes.py
@@ -107,8 +107,13 @@ def getmat(bone, active, context, ignoreparent):
            context.active_object.pose.bones[data_bone.parent.name].matrix)
         parentbonemat = Matrix(data_bone.parent.matrix_local)
     else:
-        parentposemat = bonemat_local.copy().identity()
-        parentbonemat = bonemat_local.copy().identity()
+        parentposemat = bonemat_local.copy()
+        parentbonemat = bonemat_local.copy()
+
+        # FIXME! why copy from the parent if setting identity ?, Campbell
+        parentposemat.identity()
+        parentbonemat.identity()
+
     if parentbonemat == parentposemat or ignoreparent:
         newmat = bonemat_local.invert() * otherloc
     else: