I've read all I could find on dependency cycle issues in Blender, tried everything suggested in related posts: enabled new dependency graph, unchecked stretch in IK setting, checked Extra Object Update and Extra Data Update on IK controls and bones. Nothing seem to work, still getting a lag in animation and the following console output: Default dependency graph: Dependency cycle detected: WristMarker depends on Armature through Bone Parent. indexIKpole.L depends on WristMarker through Parent. Armature depends on indexIKpole.L through IK. New dependency graph: Dependency cycle detected: 'OBindexIKgoal.L.TRANSFORM_LOCAL()' depends on 'OBWristMarker.TRANSFORM_FINAL()' through 'Parent' 'OBWristMarker.TRANSFORM_FINAL()' depends on 'OBWristMarker.OBJECT_UBEREVAL()' through 'Temp Ubereval' 'OBWristMarker.OBJECT_UBEREVAL()' depends on 'OBWristMarker.TRANSFORM_PARENT()' through 'Temp Ubereval' 'OBWristMarker.TRANSFORM_PARENT()' depends on 'OBWristMarker.TRANSFORM_LOCAL()' through '[ObLocal -> ObParent]' 'OBWristMarker.TRANSFORM_LOCAL()' depends on 'OBArmature.wrist.L.BONE_DONE()' through 'Bone Parent' 'OBArmature.wrist.L.BONE_DONE()' depends on 'OBArmature.wrist.L.BONE_READY()' through 'Ready -> Done' 'OBArmature.wrist.L.BONE_READY()' depends on 'OBArmature.wrist.L.BONE_POSE_PARENT()' through 'Pose -> Ready' 'OBArmature.wrist.L.BONE_POSE_PARENT()' depends on 'OBArmature.forearm.L.BONE_DONE()' through '[Parent Bone -> Child Bone]' 'OBArmature.forearm.L.BONE_DONE()' depends on 'OBArmature.POSE_IK_SOLVER()' through 'IK Solver Result' 'OBArmature.POSE_IK_SOLVER()' depends on 'OBArmature.arm.L.BONE_READY()' through 'IK Chain Parent' 'OBArmature.arm.L.BONE_READY()' depends on 'OBArmature.arm.L.BONE_POSE_PARENT()' through 'Pose -> Ready' 'OBArmature.arm.L.BONE_POSE_PARENT()' depends on 'OBArmature.arm.L.BONE_LOCAL()' through 'Bone Local - PoseSpace Lin k' 'OBArmature.arm.L.BONE_LOCAL()' depends on 'OBArmature.POSE_INIT()' through 'PoseEval Source-Bone Link' 'OBArmature.POSE_INIT()' depends on 'OBindexIKgoal.L.TRANSFORM_FINAL()' through 'IK' 'OBindexIKgoal.L.TRANSFORM_FINAL()' depends on 'OBindexIKgoal.L.OBJECT_UBEREVAL()' through 'Temp Ubereval' 'OBindexIKgoal.L.OBJECT_UBEREVAL()' depends on 'OBindexIKgoal.L.TRANSFORM_PARENT()' through 'Temp Ubereval' 'OBindexIKgoal.L.TRANSFORM_PARENT()' depends on 'OBindexIKgoal.L.TRANSFORM_LOCAL()' through '[ObLocal -> ObParent]' Maybe there is something fundamentally wrong with my rig? I haven't rigged in a long time in Blender or any other program for that matter. In the past I did some rigs in Maya and Cinema4D and, as far as I can recall, I used similar parenting technique without issues. I have an arm rig for this test. I have one IK chain from forearm to shoulder, another one from index finger tip to index finger base. I have an empty called `wristmarker` parented to wrist bone. I have `indexIKgoal` and `indexIKpole` parented to the `wristMarker`, so that when the whole arm moves, finger position stays relative to the wrist. Appreciate any help. [![enter image description here][1]][1] blend file: https://ufile.io/pgafy http://s000.tinyupload.com/index.php?file_id=44699481485193911373 [1]: https://i.sstatic.net/G8H0e.gif