Animation events firing all at once in mirrored blend tree

I’m using mecanim to animate a humanoid character. In one of the characters modes all of his animations are mirrored (using the mirror flag on animation states).

I rely heavily on animation events. To make sure I don’t get double events only one animation per blend tree has events and I make sure that animations weight never drops to zero so the events will fire.

Whenever the animation states are mirrored I’m seeing a strange bug. As soon as the animations normalizedTime passes 0.5 EVERY animation event fires at once. This is in addition to firing at their appropriate times. If I filter out animation events happening between 0.5 and 0.51 everything works fine.

I’ve verified that this doesn’t happen if the animations are mirrored when imported (using the mirror flag on the animation resource), it only happens when using the mirror flag on the animation state.

Has anyone else seen anything like this? It definitely seems like a bug within Mecanim itself. I’m using Unity 5.4.1f1

Fixed in Unity 5.5.0f3