diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs
index 1ff72d8484713b61aaaf8360ac9f422ca928e492..d5564cac43da18a413884113ad6f1130a4b620b8 100644
--- a/Assets/Scripts/Managers/GameOverManager.cs
+++ b/Assets/Scripts/Managers/GameOverManager.cs
@@ -1,44 +1,39 @@
 using System.Collections;
 using UnityEngine;
 using UnityEngine.Events;
+using UnityEngine.SceneManagement;
 
-namespace Nightmare
-{
-    public class GameOverManager : MonoBehaviour
-    {
+namespace Nightmare {
+    public class GameOverManager : MonoBehaviour {
         private PlayerHealth playerHealth;
         [SerializeField] private TimerManager timerManager;
         Animator anim;
-
         LevelManager lm;
-        private UnityEvent listener;
 
-        void Awake ()
-        {
+        public float restartDelay = 10f;
+        float restartTimer;
+
+        void Awake () {
             playerHealth = FindObjectOfType<PlayerHealth>();
-            anim = GetComponent <Animator> ();
+            anim = GetComponent<Animator>();
             lm = FindObjectOfType<LevelManager>();
-            EventManager.StartListening("GameOver", ShowGameOver);
         }
 
-        void OnDestroy()
-        {
-            EventManager.StopListening("GameOver", ShowGameOver);
-        }
+        void Update() {
+            if (playerHealth.currentHealth <= 0) {
+                anim.SetTrigger("GameOver");
+                restartTimer += Time.deltaTime;
 
-        void ShowGameOver()
-        {
-            anim.SetBool("GameOver", true);
-            timerManager.ResetTimer();
+                if (restartTimer >= restartDelay) {
+                    SceneManager.LoadScene("Menu");
+                    anim.SetBool("GameOver", false);
+                }
+            }
         }
 
-        private void ResetLevel()
-        {
+        private void ResetLevel() {
             ScoreManager.score = 0;
-            LevelManager lm = FindObjectOfType<LevelManager>();
-            lm.LoadInitialLevel();
-            anim.SetBool("GameOver", false);
-            playerHealth.ResetPlayer();
+            timerManager.ResetTimer();
         }
     }
 }
\ No newline at end of file