InvokeRepeating invokes more rapidly as time goes on

I’m trying to create a recovery script. Here are the relevant parts:
{
InvokeRepeating(“Recover”, 1.0f, 0.4f);
}

{
if (magic.CurrentVal < 100)
{
magic.CurrentVal += 1;
}
}

It recovers too quickly. When I reduce the recovery value, it works better, but it increases in speed and quickly stops working properly.

It is also relevant to know what methods those are. Are you calling InvokeRepeating in Update for example? That would explain why it would start invoking more rapidly.

Thanks. I just moved it to Start and it works fine now.