Forcing a tool to be re-equipped when unequipped help

Hey everyone,

I’m currently trying to make a script that forcefully re-equips a players tool when its unequipped and ONLY when its un-equipped. Below is what I’ve drafted up so far but the problem with that script is it simply keeps re-equipping the tool over and over rather than when its unequipped which causes the particles in the handle of the tool to look janky and flicker on and off. Any and all advice would be appreciated.

local plr = game.Players.LocalPlayer
local Character = plr.Character or plr.CharacterAdded:Wait()
local Hum = Character:WaitForChild("Humanoid")

plr.Backpack.ChildRemoved:Connect(function(Child)
	print(Child)
	wait(0.3)
	Hum:EquipTool(Child)
end)

Is it one tool or multiple tools?

I currently have the script in multiple tools

local plr = game.Players.LocalPlayer
local Character = plr.Character or plr.CharacterAdded:Wait()
local Hum = Character:WaitForChild("Humanoid")
local Tool = --tool location here
Tool.Unequipped:Connect(function()
	wait(0.3)
	Hum:EquipTool(Tool)
end)

Awesome! Works like a charm, thanks!