Weapons Do Not Spawn Correctly Upon Entering New Level

So I have a lobby that my players select their weapons in. Everything works correctly in here; each player’s weapons spawn in their hands correctly.

However, when they move to the actual gameplay level, the weapons spawn incorrectly. The server player will spawn without any weapons at all and the client with spawn with whatever weapons the server chose. If I do this with only one player, the server, the weapons spawn correctly.

I’ve put in print string tests and the struct in which their selections lists those selections correctly so I think the problem lies in the weapon spawning code. In the character blueprint, I have the code in the attached picture. Is it possible that 0 somehow no longer refers to player index of the local player after servertravel where the controllers are destroyed and replaced, and as a result it’s calling the wrong player controller’s struct?