OnMouseOver stops triggering when object becomes child

I have an object that is activated by OnMouseOver.

However, if I parent this to another transform, OnMouseOver stops triggering.

I’ve checked that colliders in the parent aren’t obscuring the child - in fact I even deleted them.

As soon as I un-parent, it works again.

Stumped.

Out of curiosity - does the parent have a rigidbody attached?

Yes, the parent has a kinematic rigidbody attached - if I delete the rigidbody component OnMouseOver works fine.

This seems like a bug in Unity - it’s not behaviour that seems reasonable or logical.

I need to use a rigidbody because it’s a moving elevator - with a control panel that moves with it.

To get round this I had to add a check to see if the control panel is parented, then cache the parent transform before unparenting it. Then, once the switch has been activated by OnMouseOver, I reparent the control panel before the elevator moves. Finally, I unparent when it reaches it’s destination.