When changing states in the AnimGraph, my custom events are called twice

Honestly, I’m tempted to say this is an engine bug, as I cannot fathom what I’m doing wrong here. The scenario is that I have a gun that needs to fire when I click. Simple enough. Since I intend on incorporating network replication, I’m told the best way to do that is to set a bool that can then kick off the animation on all clients. So I have an AnimGraph with two states, “Idle” and “Firing”. The condition for leaving Idle is when “IsFiringWeapon?” is true. The condition for leaving Firing is when the Time Remaining (ratio) of the firing animation is less than 0.1. It all appears to animate properly.

However, I added a custom event called FinishFiring that is called when leaving the Firing state; this event’s job is to reset IsFiringWeapon? back to false as well as to call some code that spawns a bullet actor. I noticed that this event was being called twice when it should have been called once. I went into debug and added some extra events for leaving and entering both states and found that, after firing, it is very quickly returning to Idle, then Firing again, then back to Idle, even though I can watch the IsFiringWeapon? variable and see that it is false before it gets back to the Idle state, just like it’s supposed to be.

Maybe I made a boneheaded move and missed something obvious, but I feel like I did my due diligence here. Any ideas? Or is this a bug? UE version 14.15.2