diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp
index 47f361a428a90f841ef955f68b76dc3ab5a6bed7..dd23bddb553bc43f05239361b60f2f68c1c058e8 100644
--- a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp
+++ b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp
@@ -16,6 +16,28 @@ namespace armarx::armem::wm
     }
 
 
+    CoreSegment::CoreSegment(CoreSegment&& other) : CoreSegment::Base(other)
+    {
+        // Do not move _mutex.
+    }
+
+
+    CoreSegment& CoreSegment::operator=(const CoreSegment& other)
+    {
+        Base::operator=(other);
+        // Don't copy _mutex.
+        return *this;
+    }
+
+
+    CoreSegment& CoreSegment::operator=(CoreSegment&& other)
+    {
+        Base::operator=(other);
+        // Don't move _mutex.
+        return *this;
+    }
+
+
     Commit CoreSegment::toCommit() const
     {
         Commit c;
diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h
index ef4d5f36dce8eaea1301abeb6af8971603481b48..351ab40f87342f1de7f7f01cd284fa8b5f7da61f 100644
--- a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h
+++ b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h
@@ -25,9 +25,9 @@ namespace armarx::armem::wm
         using Base::CoreSegmentBase;
 
         CoreSegment(const CoreSegment& other);
-        CoreSegment(CoreSegment&& other) = default;
-        CoreSegment& operator=(const CoreSegment& other) = default;
-        CoreSegment& operator=(CoreSegment&& other) = default;
+        CoreSegment(CoreSegment&& other);
+        CoreSegment& operator=(const CoreSegment& other);
+        CoreSegment& operator=(CoreSegment&& other);
 
         /**
          * @brief Convert the content of this segmnet into a commit