diff --git a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp
index e0c2cbd1ef13af7cfd35c7639447a0b26e277dfd..37c660527f62b0e50549e6297ec9d31fc06ab350 100644
--- a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp
+++ b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp
@@ -654,10 +654,17 @@ namespace armarx
         {
             updates[updateIter->update.name] = &updateIter->update;
         }
+
+        auto layerIDsBefore = visualizer.getLayerIDs();
         for (auto& pair : updates)
         {
             visualizer.apply(*pair.second);
         }
+        auto layerIDsAfter = visualizer.getLayerIDs();
+        if (layerIDsAfter != layerIDsBefore)
+        {
+            visualizer.emitLayersChanged(layerIDsAfter);
+        }
 
         return updateBegin->timestampInMicroseconds;
     }