"Health" value doesn't change?

This is a piece of my script. The health value equals what I tell it to, but each time it calculates it as if the Health value doesn’t change at all. Anything look weird in this:

if(other.collider.GetComponent(HealthSystem)) {
    	HealthS = other.collider.GetComponent(HealthSystem);
    	Health = HealthS.Central.GetComponent(CentralHealth).Health;
    	if(HealthS.IsHead == true) {
    		Debug.Log("Hit something!");
    		Health = Health - Damage;
    	if(HealthS.IsTorso == true) {
    		Debug.Log("Hit something!");
    		Health = Health - Damage / 2;

Instead of Health = Health - Damage, try using

Health -= Damage;

With little to go off of though, not knowing what your other scripts hold, an easy way to do this would be:

other.collider.gameObject.GetComponent(HealthSystem).Health -= Damage;