C# Lives won't be lost

I am making a tower defense game and I have enemies that spawn with an EnemyAI script. The enemies go through the map and when they hit the end point, they call the function LoseLives from another script. Then they get destroyed. However, in game, they do get destroyed but the lives don’t get lost. Any ideas on how to fix this. Thanks in advance.
EnemyAI Script:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class EnemyAI : MonoBehaviour {

    public Lives livesScript;

  void OnTriggerEnter(Collider col)
    {
        if (col.gameObject.CompareTag("EndPoint"))
        {
            livesScript.LoseLives();
            Destroy(this.gameObject);
        }
    }
}

Lives Script:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Lives : MonoBehaviour {

    
    public Text livesText;
    //public int lives;
    public int lives = 10;

    // Use this for initialization
    void Start () {
    }
	
	// Update is called once per frame
	void Update () {
        livesText.text = "Lives: " + lives;
        if (lives <= 0)
        {
            LoseGame();
        }
    }

    public void LoseLives()
    {
        lives--;
    }

    public void LoseGame()
    {
        Debug.Log("You Lose");
    }
}

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

 public class EnemyAI : MonoBehaviour {
 
     private Lives livesScript;
     private GameObject gameManager; 
     void Start () 
  {
         gameManager = GameObject.FindGameObjectWithTag("GameManager");
         livesScript = gameManager.GetComponent<Lives>();

 }
   void OnTriggerEnter(Collider col)
     {
         if (col.gameObject.CompareTag("EndPoint"))
         {
             livesScript.LoseLives();
             Destroy(this.gameObject);
         }
     }
 }