Player Healt infinite recovery

hi there! i have created a function on my player healt for recovery healt when i pick up a “health potion”, but when i call that funcion from other script i get a infinite recovery of my healt, here is a part of the script

var Health : int;
var Rec : int = 5;

function recHealt()
{
	Health += Rec;
	yield;
}

Do you collide with the potion? Cause then you have to have destroy the object, since it will keep adding health everyframe as long as you are in collision with it.

You would also have an upper limit to health
and call that in the function

if(health < healthMax) 
{
add health from potion;
}