diff --git a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp
index 778c2db5fd47742488efb3ee0f8ce6aaae4fe0e3..e25405e6ad5168eadd59650471b5e5b2a9e6c610 100644
--- a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp
+++ b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp
@@ -119,12 +119,15 @@ namespace armarx::viz
             return;
         }
 
+        state = CoinVisualizerState::STOPPED;
+        /*
         state = CoinVisualizerState::STOPPING;
         while (state != CoinVisualizerState::STOPPED)
         {
             QCoreApplication::processEvents();
             usleep(1000);
         }
+        */
     }
 
     CoinVisualizer_ApplyTiming CoinVisualizer::apply(data::LayerUpdate const& update)
diff --git a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp
index e210b778f25dd9ce8f83bfd299ff3ec4c75497e2..c379eed20745f6f77472c2faf6b943aba23464cd 100644
--- a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp
+++ b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp
@@ -176,8 +176,6 @@ namespace armarx
 
     void ArVizWidgetController::onDisconnectComponent()
     {
-        visualizer.stop();
-
         // Changes to UI elements are only allowed in the GUI thread
         emit disconnectGui();
     }
@@ -195,6 +193,7 @@ namespace armarx
     void ArVizWidgetController::onDisconnectGui()
     {
         timingObserverTimer->stop();
+        visualizer.stop();
         changeMode(ArVizWidgetMode::NotConnected);
     }