diff --git a/Assets/Scripts/UI/HealthBarController.cs b/Assets/Scripts/UI/HealthBarController.cs
index b0709dee886204d64a18c130891254328677c2aa..e62699e83a7a02a41491074cd1a4313913a69cfd 100644
--- a/Assets/Scripts/UI/HealthBarController.cs
+++ b/Assets/Scripts/UI/HealthBarController.cs
@@ -7,11 +7,13 @@ public class HealthBarController : MonoBehaviour
 
     [SerializeField] Color barColor = new Color(245, 17, 17);
     Transform bar;
+    Vector3 initialScale;
 
     void Awake()
     {
         bar = transform.Find("Bar");
         bar.Find("Health").GetComponent<SpriteRenderer>().color = barColor;
+        initialScale = transform.localScale;
     }
 
     private void Update()
@@ -20,7 +22,7 @@ public class HealthBarController : MonoBehaviour
         // If transform.parent.localScale.x is -1, the health bar scale will be set to -1
         // as well, effectively cancelling the flip.
         var scale = transform.localScale;
-        scale.x = transform.parent.localScale.x;
+        scale.x = transform.parent.localScale.x < 0 ? -initialScale.x : initialScale.x;
         transform.localScale = scale;
     }