shooting raycast, sometimes return null reference exception?

I can shoot the enemies, and also kill them, but sometimes its not shooting making a “pause” and throw a null reference exception into the console. By holding my mouse to shoot longer, its possible i can hit the enemy without problems and he lose the life, lets say from 8 Hits, 1-2 are null reference exceptions.
So some hits work and a few dont work.
Why does that happen?
The enemy have a rigidbody.
The error in the console point at the line " enemy.enemyLife -= 1; "
The most of the hits are no problems, but at this fast shooting there are also many breaks and no shooting and these null exception errors… someone know how to fix that?

void Shooting (Vector3 origin, Vector3 direction)
{
	RaycastHit hit;
	Ray ray = new Ray (origin, direction);

	bool result = Physics.Raycast (ray, out hit);

	if (result)
	{
		if (hit.transform.gameObject.tag == "Enemy") 
		{
			EnemyHealth enemy = hit.transform.GetComponent<EnemyHealth> ();
			enemy.enemyLife -= 1;
		}
	}

Ok i think this was not the problem. If the enemies are far away and i shoot them if they dont use their animations, then all hits are working on them. If i come in the area when they search me (A* Pathfinding), then the animation is started. If i attack them while the animation is working, then sometimes i get these null exception errors.
But what is the problem, if the enemy jumps and his collider is on him, it also moves up and down. So there should be no problem with that right?
Hm…