I narrowed the problem down to a critical line in each of the Equipped and Unequipped listener functions. I specified them in the repro. The two lines move a GUI inside the tool to PlayerGui and back respectively. This is causing the Equipped and Unequipped events to be fired twice.
Salutations!
Thank you for submitting this report. We are currently closing out older bugs that are no longer reproducible as we migrate to a new tracking system. Thank you for your patience while this issue was outstanding; our new process is designed to help us resolve incoming bugs more efficiently.
If you are still experiencing this issue, please file a new report via the Bug Wizard so we can take another look.