FreeFall fires even when player is standing still

I’m trying to calculate how long and whenever player is falling down to increase a value but it is increasing despite humanoid standing still or not falling at all.
Keep in mind it fires when player falls down but i also added a landed break check but that didn’t work also.

Humanoid.FreeFalling:Connect(function(__NEWTSTATE)
	if Humanoid:GetState() == Enum.HumanoidStateType.Freefall then
		coroutine.wrap(function()
			repeat
				task.wait(0.7)
				__FT.Value += 1
			until Humanoid:GetState() == Enum.HumanoidStateType.Landed
			__FT.Value = 0
		end)()
	end
end)

perhaps make the condition:

until Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall