diff --git a/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.cpp b/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.cpp
index f728f1256128cd6d79639b83433a4c166e28115e..3e4bca389d84fba3c62f0c2a4e251daf5b7bf66c 100644
--- a/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.cpp
+++ b/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.cpp
@@ -300,6 +300,8 @@ armarx::ObstacleAvoidingPlatformUnit::high_level_control_loop()
     m_platform->stopPlatform();
     m_control_loop.mode = control_mode::none;
 
+    visualize();
+
     ARMARX_VERBOSE << "Stopped " << ::to_string(mode) << " control.";
 }
 
@@ -628,6 +630,21 @@ const
 }
 
 
+void
+armarx::ObstacleAvoidingPlatformUnit::visualize()
+{
+    const Eigen::Vector2f zero = Eigen::Vector2f::Zero();
+    velocities vels;
+    vels.target_local = zero;
+    vels.target_global = zero;
+    vels.modulated_local = zero;
+    vels.modulated_global = zero;
+    vels.target_rot = 0;
+
+    visualize(vels);
+}
+
+
 void
 armarx::ObstacleAvoidingPlatformUnit::visualize(const velocities& vels)
 {
@@ -699,12 +716,13 @@ armarx::ObstacleAvoidingPlatformUnit::visualize(const velocities& vels)
     // Velocities.
     Layer l_vels = arviz.layer("velocities");
     {
+        const float min_velocity = 15;
         const Eigen::Vector3f from1{agent_pos + Eigen::Vector3f{0, 0, 2000}};
         const Eigen::Vector3f from2 = from1 + Eigen::Vector3f{0, 0, 200};
         const Eigen::Vector3f original{vels.target_global.x(), vels.target_global.y(), 0};
         const Eigen::Vector3f modulated{vels.modulated_global.x(), vels.modulated_global.y(), 0};
 
-        if (not original.isZero())
+        if (original.norm() > min_velocity)
         {
             l_vels.add(Arrow{"original"}
                        .fromTo(from1, from1 + original * 5)
@@ -712,7 +730,7 @@ armarx::ObstacleAvoidingPlatformUnit::visualize(const velocities& vels)
                        .width(25));
         }
 
-        if (not modulated.isZero())
+        if (modulated.norm() > min_velocity)
         {
             l_vels.add(Arrow{"modulated"}
                        .fromTo(from2, from2 + modulated * 5)
diff --git a/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.h b/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.h
index 254832b3b790efc2790d5a399b7a3f31f5851858..f0a487ba113a989e843e1d8fbab29dae21ad1311 100644
--- a/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.h
+++ b/source/RobotAPI/components/units/ObstacleAvoidingPlatformUnit/ObstacleAvoidingPlatformUnit.h
@@ -246,6 +246,9 @@ namespace armarx
         calculate_adaptive_max_vel()
         const;
 
+        void
+        visualize();
+
         void
         visualize(const velocities& vels);