diff --git a/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp b/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp
index e97ec6af0a922e3e49ddc509539e958fe88b0d05..1d24d974e97932be9a56dd8693b1f74ef8a604f1 100644
--- a/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp
@@ -90,10 +90,8 @@ namespace armarx::armem::client
     }
 
     void MemoryNameSystemComponentPluginUser::memoryUpdated(
-        const std::vector<data::MemoryID>& updatedSnapshotIDsIce, const Ice::Current&)
+        const std::vector<data::MemoryID>& updatedSnapshotIDs, const Ice::Current&)
     {
-        std::vector<MemoryID> updatedSnapshotIDs;
-        fromIce(updatedSnapshotIDsIce, updatedSnapshotIDs);
         memoryNameSystem.updated(updatedSnapshotIDs);
     }
 
diff --git a/source/RobotAPI/libraries/armem/client/util/MemoryListener.cpp b/source/RobotAPI/libraries/armem/client/util/MemoryListener.cpp
index 996129960142e8e159e1da4f52552674b9c45a61..2c491c11f4cc4f223d940a60ef79ab577a428b6f 100644
--- a/source/RobotAPI/libraries/armem/client/util/MemoryListener.cpp
+++ b/source/RobotAPI/libraries/armem/client/util/MemoryListener.cpp
@@ -3,6 +3,7 @@
 #include <sstream>
 
 #include <ArmarXCore/core/logging/Logging.h>
+#include <RobotAPI/libraries/armem/core/ice_conversions.h>
 #include <RobotAPI/libraries/armem/core/error.h>
 
 
@@ -14,6 +15,15 @@ namespace armarx::armem::client::util
     }
 
 
+    void
+    MemoryListener::updated(const std::vector<data::MemoryID>& updatedSnapshotIDs) const
+    {
+        std::vector<MemoryID> bos;
+        fromIce(updatedSnapshotIDs, bos);
+        updated(bos);
+    }
+
+
     void
     MemoryListener::updated(const std::vector<MemoryID>& updatedSnapshotIDs) const
     {
@@ -58,13 +68,14 @@ namespace armarx::armem::client::util
 
 
     void
-    MemoryListener::subscribe(const MemoryID& id, callback callback)
+    MemoryListener::subscribe(const MemoryID& id, Callback callback)
     {
         callbacks[id].push_back(callback);
     }
 
 
-    void MemoryListener::subscribe(const MemoryID& subscriptionID, CallbackUpdatedOnly callback)
+    void
+    MemoryListener::subscribe(const MemoryID& subscriptionID, CallbackUpdatedOnly callback)
     {
         subscribe(subscriptionID, [callback](const MemoryID&, const std::vector<MemoryID>& updatedSnapshotIDs)
         {
diff --git a/source/RobotAPI/libraries/armem/client/util/MemoryListener.h b/source/RobotAPI/libraries/armem/client/util/MemoryListener.h
index 7591f1f5db41decdb5c49d14ea00b8380072f08b..2d530097ce6394ddcf4cc815f8e44f93e057d916 100644
--- a/source/RobotAPI/libraries/armem/client/util/MemoryListener.h
+++ b/source/RobotAPI/libraries/armem/client/util/MemoryListener.h
@@ -66,6 +66,7 @@ namespace armarx::armem::client::util
 
         /// Function handling updates from the MemoryListener ice topic.
         void updated(const std::vector<MemoryID>& updatedIDs) const;
+        void updated(const std::vector<data::MemoryID>& updatedIDs) const;
 
 
     protected: