diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
index 6d37d9203034e55d46c2cbae2903cec7d5c220b1..dd2a56edbbdb976f2b6d09552fc98c5e2eb11801 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
@@ -164,7 +164,7 @@ namespace armarx::armem::server::robot_state
         {
             robotUnit.writer.run(
                 robotUnit.pollFrequency, robotUnit.dataQueue, robotUnit.dataMutex,
-                iceMemory, localizationSegment, workingMemoryMutex
+                iceMemory, localizationSegment
             );
         }, "Robot State Writer");
 
diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp
index 8b49307bd3b52f4cefdbd8adc350d721e3f0f10d..e4b2df5fc14dae323d90631b44f4a82eb97e795e 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp
@@ -65,11 +65,9 @@ namespace armarx::armem::server::robot_state
     }
 
 
-    void RobotStateWriter::run(
-        float pollFrequency,
-        std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex,
-        MemoryToIceAdapter& memory, localization::Segment& localizationSegment,
-        std::mutex& workingMemoryMutex)
+    void RobotStateWriter::run(float pollFrequency,
+                               std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex,
+                               MemoryToIceAdapter& memory, localization::Segment& localizationSegment)
     {
         CycleUtil cycle(static_cast<int>(1000.f / pollFrequency));
         while (task and not task->isStopped())
@@ -97,9 +95,9 @@ namespace armarx::armem::server::robot_state
 
                 armem::CommitResult result;
                 {
-                    std::scoped_lock lock(workingMemoryMutex);
                     endLock = std::chrono::high_resolution_clock::now();
 
+                    // Commits locks the core segment.
                     result = memory.commit(update.proprioception);
                     endProprioception = std::chrono::high_resolution_clock::now();
 
diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h
index 8111357d24728f4670719a1d9a991ac12083da1c..93ba74d2d9d622f4d72d1d5a4d08acd97f3eb64b 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h
@@ -61,8 +61,7 @@ namespace armarx::armem::server::robot_state
         void run(float pollFrequency,
                  std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex,
                  MemoryToIceAdapter& memory,
-                 localization::Segment& localizationSegment,
-                 std::mutex& workingMemoryMutex
+                 localization::Segment& localizationSegment
                 );