add in an additional check for isFalling(). though it sounds like it should only check if the character is “moving downward” what it actually does is checks the Z component of the Velocity vector for if not Zero, so even if the character is moving upwards the IsFalling will still return true.
this will have the added effect in a Single Jump system to not allow for jumping while falling down.