Prevent tool from being equipped when picked up from the workspace

Problem

I’m running into an issue with picking up tools from the workspace. When a tool is picked up from the workspace, it’s automatically equipped, even if there is another tool equipped. Watch the below video to see a demonstration of the issue.

Tool Pickup Issue

What I want to happen is for the tool to be placed into the Backpack if a tool is already equipped.

In my case, the tools in question are weapons, and I’ve implemented a system where the player cannot have duplicate weapons. The weapons have certain properties such as ammo which is transferred over to the weapon the player already has, and then the tool that is picked up is destroyed. The issue with the auto-equip feature is that when the tool is destroyed, the client is left in an inconsistent state which I want to prevent because it can (and does) cause a bunch of different errors.

I would like to avoid forcing the original tool to be reequipped if possible.

The exception to this is if the player doesn’t have a tool equipped, then I want it to be equipped.

Research

I’ve done some searching and I have found a multitude of topics relating to equipping/unequipping tools, backpack, preventing players from picking up tools in the workspace, etc…, but nothing that addresses this specific issue.

Any ideas?