diff --git a/source/Navigation/libraries/server/Navigator.cpp b/source/Navigation/libraries/server/Navigator.cpp
index 14ad6b73edd2e4040c85e2883cbd7b2d31a85885..b2908d816fe224cd3f8b5af575c8d95b4ba27b14 100644
--- a/source/Navigation/libraries/server/Navigator.cpp
+++ b/source/Navigation/libraries/server/Navigator.cpp
@@ -8,8 +8,8 @@
 
 namespace armarx::nav::server
 {
-    Navigator::Navigator(const server::NavigationStack& navigationStack, const core::Scene& ctx) :
-        stack(navigationStack), scene(ctx)
+    Navigator::Navigator(const server::NavigationStack& navigationStack, const core::Scene& scene, ExecutorInterface& executor) :
+        stack(navigationStack), scene(scene), executor{executor}
     {
         setTag("Navigator");
     }
@@ -56,10 +56,10 @@ namespace armarx::nav::server
             if (stack.safetyControl)
             {
                 ARMARX_INFO << "Safety control";
-                res.safeVelocity = stack.safetyControl->control(res.controlVelocity);
+                res.safeVelocity = stack.safetyControl->control(res.controlVelocity.value());
             }
 
             executor.move(res.velocity());
         }
     }
-} // namespace armarx::nav::server
\ No newline at end of file
+} // namespace armarx::nav::server
diff --git a/source/Navigation/libraries/server/Navigator.h b/source/Navigation/libraries/server/Navigator.h
index 38e12c3e8045b6963f3ad7b1fbf30ff97bf7c46d..79327e11025a5b55bfc1df432d2da2c39426cc65 100644
--- a/source/Navigation/libraries/server/Navigator.h
+++ b/source/Navigation/libraries/server/Navigator.h
@@ -23,11 +23,14 @@
 
 #include <Eigen/Core>
 
+// ArmarX
 #include "ArmarXCore/core/exceptions/local/ExpressionException.h"
 #include "ArmarXCore/core/logging/Logging.h"
 
+// Navigation
 #include "Navigation/libraries/core/types.h"
 #include "NavigationStack.h"
+#include <Navigation/libraries/server/execution/ExecutorInterface.h>
 
 namespace armarx::nav::server
 {
@@ -64,7 +67,7 @@ namespace armarx::nav::server
     class Navigator : public armarx::Logging
     {
     public:
-        Navigator(const server::NavigationStack& navigationStack, const core::Scene& scene);
+        Navigator(const server::NavigationStack& navigationStack, const core::Scene& scene, ExecutorInterface& executor);
 
         void moveTo(const core::Pose& goal, const core::NavigationFrames& navigationFrame);
         void moveToAbsolute(const core::Pose& goal);
@@ -74,6 +77,6 @@ namespace armarx::nav::server
         server::NavigationStack stack;
         const core::Scene& scene;
 
-        ExecutorInterface& executor; 
+        ExecutorInterface& executor;
     };
-} // namespace armarx::nav::server
\ No newline at end of file
+} // namespace armarx::nav::server
diff --git a/source/Navigation/libraries/server/test/serverTest.cpp b/source/Navigation/libraries/server/test/serverTest.cpp
index 938f499bb9cbb6311ff8645b985446061be1e2fd..743373f0343b5f4af2dd7eebe6d00fd2f123c6b4 100644
--- a/source/Navigation/libraries/server/test/serverTest.cpp
+++ b/source/Navigation/libraries/server/test/serverTest.cpp
@@ -61,6 +61,9 @@ BOOST_AUTO_TEST_CASE(testNavigator)
         .trajectoryControl = std::make_shared<traj_ctrl::TrajectoryFollowingController>(
             traj_ctrl::TrajectoryFollowingControllerParams(), scene)};
 
+    // Executor.
+    server::DummyExecturo executor{scene.robot};
+
     server::Navigator navigator(stack, scene, executor);
     navigator.moveTo(goal, core::NavigationFrames::Absolute);