diff --git a/engine/src/Utils/ControllerCreator.cpp b/engine/src/Utils/ControllerCreator.cpp
index 0ad917d1ae4b4d3e9cf220ab265d9110475d804a..07e4d90f2858a92b920c83ce09ad37f61f5372c5 100644
--- a/engine/src/Utils/ControllerCreator.cpp
+++ b/engine/src/Utils/ControllerCreator.cpp
@@ -185,6 +185,7 @@ void ControllerRegistrar::CreateDefaultController()
   default_config->name = CONTROLLER_NAME_DEFAULT;
   auto& controller = controller_repository_.Create(std::move(default_config));
   RegisterDefaultController(controller);
+  controller_service_->ChangeState(entity_.GetUniqueId(), controller.GetUniqueId(), mantle_api::IController::kActivate, mantle_api::IController::kActivate);
 }
 
 void ControllerRegistrar::CreateUserDefinedControllers(bool control_override)
@@ -199,6 +200,7 @@ void ControllerRegistrar::CreateUserDefinedControllers(bool control_override)
       Logger::Info("ControllerRegistrar: Setting up external controller \"" + external_config->name + "\" for entity \"" + entity_name_ + "\"");
       auto& controller = controller_repository_.Create(std::move(external_config));
       RegisterUserDefinedController(controller);
+      controller_service_->ChangeState(entity_.GetUniqueId(), controller.GetUniqueId(), mantle_api::IController::kActivate, mantle_api::IController::kActivate);
     }
   }
   else