diff --git a/Assets/Scripts/BaseCameraController.cs b/Assets/Scripts/BaseCameraController.cs
index 4d02e6bb1e3d8bdc402ea79efbf0514902cf4d33..ca53edbedc9c9a24fbdf4fde03cfb5955e12b909 100644
--- a/Assets/Scripts/BaseCameraController.cs
+++ b/Assets/Scripts/BaseCameraController.cs
@@ -78,6 +78,9 @@ public class BaseCameraController : MonoBehaviour
             AnimateToPosition(player.transform.position + new Vector3(0f, 0.75f), 1.5f, 0.1f);
         }
 
+        // Disable collider while there is an ongoing animation
+        collider.enabled = !HasOverriddenOnterpolators();
+
         mouseMovementEdges.DrawDebug(!IsUserControlEnabled() ? Color.yellow : waitForMouseOutsideEdges ? Color.red : Color.green);
         if (IsUserControlEnabled())
         {
@@ -117,6 +120,7 @@ public class BaseCameraController : MonoBehaviour
                 zoomInterpolator.targetValue += inputZoomDelta;
             }
         }
+
         // Always interpolate zoom as that might be animted without user input enabled
         if (zoomInterpolator.running)
         {
@@ -147,7 +151,12 @@ public class BaseCameraController : MonoBehaviour
 
     bool IsUserControlEnabled()
     {
-        return allowUserControl && !zoomInterpolator.hasInterpolatorsQueued && !xPositionInterpolator.hasInterpolatorsQueued && !yPositionInterpolator.hasInterpolatorsQueued;
+        return allowUserControl && !HasOverriddenOnterpolators();
+    }
+
+    bool HasOverriddenOnterpolators()
+    {
+        return zoomInterpolator.hasInterpolatorsQueued || xPositionInterpolator.hasInterpolatorsQueued || yPositionInterpolator.hasInterpolatorsQueued;
     }
 
     // Resize the attached collider to fit the visible camera bounds