diff --git a/Assets/Scripts/Orb/SpeedOrbBehaviour.cs b/Assets/Scripts/Orb/SpeedOrbBehaviour.cs
index 0edc87e315980348a48ac0b0f8fbfcf9257c5a29..1cafd8172626fb2c5c2c0f1751cf79b5ff743bfb 100644
--- a/Assets/Scripts/Orb/SpeedOrbBehaviour.cs
+++ b/Assets/Scripts/Orb/SpeedOrbBehaviour.cs
@@ -24,9 +24,11 @@ public class SpeedOrbBehaviour : OrbBehaviour
             StopCoroutine(_speedModifierCoroutine);
         }
 
-        playerMovement.Speed *= 1.2f;
-
-        _speedModifierCoroutine = StartCoroutine(RevertSpeedAfterDelay(playerMovement, OriginalSpeed, 15f));
+        if (playerMovement.Speed <= OriginalSpeed)
+        {
+            playerMovement.Speed *= 1.2f;
+            _speedModifierCoroutine = StartCoroutine(RevertSpeedAfterDelay(playerMovement, OriginalSpeed, 15f));
+        }
     }
 
     private IEnumerator RevertSpeedAfterDelay(PlayerMovement playerMovement, float originalSpeed, float delay)