diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
index a846cffac89c6118b6c476d3531e47cd49f96f8a..35165fb63bd5226bdbb68b809cbb65ec6999de84 100644
--- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
+++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
@@ -55,6 +55,7 @@ namespace armarx::armem::server
 
         if (input.providerSegmentName.size() > 0)
         {
+            std::scoped_lock lock(coreSegment->mutex());
             try
             {
                 coreSegment->addProviderSegment(input.providerSegmentName);
@@ -94,6 +95,7 @@ namespace armarx::armem::server
         return output;
     }
 
+
     data::CommitResult
     MemoryToIceAdapter::commit(const data::Commit& commitIce, Time timeArrived)
     {