RunService.Stepped connection wont disconnect

I disconnect it at the bottom but it keeps going:

pcall(function()
						airConnection = game:GetService("RunService").Stepped:Connect(function()
						
						if not char or not v or hum.Health == 0 or v.Parent.Humanoid.Health == 0 then airConnection:Disconnect()
							char:SetAttribute("InAir", false)
							print("changed from stupid air connection")
							if char.HumanoidRootPart:FindFirstChild("AlignPosition") then
								char.HumanoidRootPart:FindFirstChild("AlignPosition"):Destroy()
							end
						end
						if tick() - lastAirAttack >= 1 then
							if v.Parent.HumanoidRootPart:FindFirstChild("AlignPosition") and char:GetAttribute("HyperArmor") then
								v.Parent.HumanoidRootPart:FindFirstChild("AlignPosition"):Destroy()
							end
							if char.HumanoidRootPart:FindFirstChild("AlignPosition") and char:GetAttribute("HyperArmor") then
								print("deletedFromAirAttack")
								char.HumanoidRootPart:FindFirstChild("AlignPosition"):Destroy()
							end
							char:SetAttribute("InAir", false)
							v.Parent:SetAttribute("InAir", false)
							print("Changed from air attack connection STIILL")
							airConnection:Disconnect()
						end
						end)
						end)
					```

Are you specifying the airConnection variable? Also, where is lastAirAttack located in the script?

What do you mean? If you’re asking whether or not I’m talking about the air connection variable then yes I am

Can the script find the air connection variable?

It would probably be best if you shown your whole script, so I can understand the context.

Yes at the top of the script it says:

local airConnection = nil