Does onTriggerEnter work only for the first Object?

Hello everyone, I have a question that is simplified with the title, I have used ontriggerenter once before but not the way I am using it, I have a gauntlet of obstacles with the same tag name and if I hit one, I die which is correct but when I hit another one, it does absolutely nothing like the function is not being called for some reason. I am doing it in c# and the code goes something like this:

void OnTriggerEnter(Collider col)
{
if(col.gameObject.tag == "block")
isDead = true;
}
Update()
{
if(isDead)
//health -= 5;
}

Now it does the function when I hit one block but if I hit another block then nothing happens. Any ideas, suggestion or comments all are welcomed.

OnTriggerEnter definitely does work for more than just the first object. How do you know that the function is only being called once?

Well first of all try to to this:

void OnTriggerEnter(Collider col)
{
   if(col.gameObject.tag == "block")
       isDead = true;
}

Update()
{
    if(isDead)
    {
      //health -= 5;
     isDead = false;
    }
}

But the right thing should set the “health -= 5” instead of seting isDead to true, i mean, theres no need for this “isDead” variable, you can just the death inside the tags verification, inside the ontriggerenter

Why not take away the health in the onTriggerEnter?

Thanks for the replys guys, just got off work and sorry I am responding so late.:
@Kith, the reason that I know it is being called is that when I put an action inside the on triggerenter, it does the action only once, like it will take the health away only one time and when I pass through the function again it does nothing.
@_ivansc , I put isDead in there as a flag to make sure that it would get called in update and I set the flag for a respawn so when he is not dead after a certain time then respawn the character.
@titany, I tried that and that is why I put in the flag for isDead and put it in the update.