diff --git a/MrBigsock/Assets/Code/UI/AbilityElement.cs b/MrBigsock/Assets/Code/UI/AbilityElement.cs
index 5e44700af0bff81cf051fe5f0e5263a1ae48b612..ff8207e7dd33c0adcd88eaf3f7b507a8bb38470d 100644
--- a/MrBigsock/Assets/Code/UI/AbilityElement.cs
+++ b/MrBigsock/Assets/Code/UI/AbilityElement.cs
@@ -29,8 +29,10 @@ namespace BigSock.UI
 
 
     public AbilityElement WithAbility(AbilityEntity ability) {
+      _sprite ??= transform.Find("Sprite").GetComponent<UnityEngine.UI.Image>();
+
       if (_sprite != null)
-        _sprite.overrideSprite = ability.Ability.Icon ?? _sprite.overrideSprite;
+          _sprite.overrideSprite = ability.Ability.Icon ?? _sprite.overrideSprite;
       return this;
     }
 
@@ -39,7 +41,7 @@ namespace BigSock.UI
     void Start() {
       chargeSlider = transform.Find("ChargeSlider").GetComponent<Slider>();
       cooldownSlider = transform.Find("ReloadSlider").GetComponent<Slider>();
-      _sprite = transform.Find("Sprite").GetComponent<UnityEngine.UI.Image>();
+      _sprite ??= transform.Find("Sprite").GetComponent<UnityEngine.UI.Image>();
     }
 
     // Update is called once per frame