diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
index ec68b26342c527923fc997d94d53796e968e1083..8f7d631a1b275a73607901892cfbfc290ae10bf9 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
@@ -48,7 +48,11 @@ namespace armarx::armem::server::robot_state::description
         const Time now = Time::Now();
 
         const MemoryID providerID = segmentPtr->id().withProviderSegmentName(robotDescription.name);
-        segmentPtr->addProviderSegment(providerID.providerSegmentName, arondto::RobotDescription::ToAronType());
+        if (not segmentPtr->hasProviderSegment(providerID.providerSegmentName))
+        {
+            segmentPtr->addProviderSegment(providerID.providerSegmentName, arondto::RobotDescription::ToAronType());
+        }
+
 
         EntityUpdate update;
         update.entityID = providerID.withEntityName("description");