diff --git a/Assets/Scripts/Logic/System/UnitDamagesCastleSystem.cs b/Assets/Scripts/Logic/System/UnitDamagesCastleSystem.cs
index ea5d8fbecd532422cefd6f20330390add22509c1..da27ed367f5b4e155ecccbf90b2612205730bd8c 100644
--- a/Assets/Scripts/Logic/System/UnitDamagesCastleSystem.cs
+++ b/Assets/Scripts/Logic/System/UnitDamagesCastleSystem.cs
@@ -12,10 +12,12 @@ public class UnitDamagesCastleSystem : BaseSystem {
 	private void On(UnitMovedTileEvent e) {
 		Unit unit = e.Unit;
 		Castle enemyCastle = unit.World.Overview.GetEnemyTeam(unit.Owner).Castle;
-		if (enemyCastle.Health <= 0) return;
 
 		if (unit.TilePosition.Equals(enemyCastle.Position)) {
-			enemyCastle.Damage(unit, unit.Type.Damage);
+			if (!enemyCastle.IsDestroyed) {
+				enemyCastle.Damage(unit, unit.Type.Damage);
+			}
+
 			unit.World.DestroyUnit(unit);
 		}
 	}