diff --git a/modules/camera/include/vkcv/camera/CameraManager.hpp b/modules/camera/include/vkcv/camera/CameraManager.hpp
index 43abd1fadccd8c6c704be6e3afbf16ca1bb21367..bd0d5d11f10159b55c742f03a60bae75f69b99a3 100644
--- a/modules/camera/include/vkcv/camera/CameraManager.hpp
+++ b/modules/camera/include/vkcv/camera/CameraManager.hpp
@@ -110,6 +110,15 @@ namespace vkcv::camera {
          */
         CameraController& getActiveController();
 
+        /**
+         * @brief Returns 'true' if the camera has a controller.
+         * 
+         * @param cameraIndex 
+         * @return true 
+         * @return false 
+         */
+        bool CameraManager::cameraHasController(uint32_t cameraIndex);
+
     public:
 
         /**
@@ -184,7 +193,7 @@ namespace vkcv::camera {
          * @throws std::runtime_error If @p cameraIndex is not a valid camera index.
          */
         ControllerType getControllerType(uint32_t cameraIndex);
-
+        
         /**
          * @brief Updates all stored camera controllers in respect to @p deltaTime.
          * @param[in] deltaTime The time that has passed since last update.
diff --git a/modules/camera/src/vkcv/camera/CameraManager.cpp b/modules/camera/src/vkcv/camera/CameraManager.cpp
index f129f3a248325957cb56470e2547a0146bc7c971..c0525d849095f07b6a6988e26c21dc32674f08f0 100644
--- a/modules/camera/src/vkcv/camera/CameraManager.cpp
+++ b/modules/camera/src/vkcv/camera/CameraManager.cpp
@@ -184,9 +184,13 @@ namespace vkcv::camera {
         }
     }
 
+    bool CameraManager::cameraHasController(uint32_t cameraIndex) {
+        return (m_cameraControllerTypes[cameraIndex] != ControllerType::NONE);
+    }
+
     void CameraManager::update(double deltaTime) {
         m_frameTime = deltaTime;
-        if (glfwGetWindowAttrib(m_window.getWindow(), GLFW_FOCUSED) == GLFW_TRUE) {
+        if ((glfwGetWindowAttrib(m_window.getWindow(), GLFW_FOCUSED) == GLFW_TRUE) && cameraHasController(getActiveCameraIndex())) {
             getActiveController().updateCamera(deltaTime, getActiveCamera());
         }
 	}