Raytraced Translucency overriding my "set custom data value"

I have a hierarchical instanced static mesh that uses a Set Custom Data Value node to give each instance a different colour using a hue shift node in the material.

It works great without ray-tracing translucency but when I turn this on it ditches the colour variations and defaults back to the first colour. Any ideas?