diff --git a/source/RobotAPI/libraries/armem/core/error/mns.cpp b/source/RobotAPI/libraries/armem/core/error/mns.cpp
index 5a29321f7fce0daafc6c6dabf49481a72b37fce2..da8b8f4855ac67e575cb1e9a677eea277dc1cc58 100644
--- a/source/RobotAPI/libraries/armem/core/error/mns.cpp
+++ b/source/RobotAPI/libraries/armem/core/error/mns.cpp
@@ -44,16 +44,16 @@ namespace armarx::armem::error
     }
 
 
-
-    MemoryServerRegistrationFailed::MemoryServerRegistrationFailed(const MemoryID& memoryID, const std::string& errorMessage) :
-        ArMemError(makeMsg(memoryID, errorMessage))
+    ServerRegistrationOrRemovalFailed::ServerRegistrationOrRemovalFailed(const std::string& verb, const MemoryID& memoryID, const std::string& errorMessage) :
+        ArMemError(makeMsg(verb, memoryID, errorMessage))
     {
+
     }
 
-    std::string MemoryServerRegistrationFailed::makeMsg(const MemoryID& memoryID, const std::string& errorMessage)
+    std::string ServerRegistrationOrRemovalFailed::makeMsg(const std::string& verb, const MemoryID& memoryID, const std::string& errorMessage)
     {
         std::stringstream ss;
-        ss << "Failed to register memory server for '" << memoryID << "' in the Memory Name System (MNS).";
+        ss << "Failed to " << verb << " memory server for '" << memoryID << "' in the Memory Name System (MNS).";
         if (not errorMessage.empty())
         {
             ss << "\n" << errorMessage;
diff --git a/source/RobotAPI/libraries/armem/core/error/mns.h b/source/RobotAPI/libraries/armem/core/error/mns.h
index 4c429572958ea5bac8cdaf2f83a01d768543c72b..428df8cae66494f72b1a56267a97b3942f63f7a6 100644
--- a/source/RobotAPI/libraries/armem/core/error/mns.h
+++ b/source/RobotAPI/libraries/armem/core/error/mns.h
@@ -37,15 +37,16 @@ namespace armarx::armem::error
     /**
      * @brief Indicates that a query to the Memory Name System failed.
      */
-    class MemoryServerRegistrationFailed : public ArMemError
+    class ServerRegistrationOrRemovalFailed : public ArMemError
     {
     public:
 
-        MemoryServerRegistrationFailed(const MemoryID& memoryID, const std::string& errorMessage = "");
+        ServerRegistrationOrRemovalFailed(const std::string& verb, const MemoryID& memoryID, const std::string& errorMessage = "");
 
-        static std::string makeMsg(const MemoryID& memoryID, const std::string& errorMessage = "");
+        static std::string makeMsg(const std::string& verb, const MemoryID& memoryID, const std::string& errorMessage = "");
 
     };
 
+
 }
 
diff --git a/source/RobotAPI/libraries/armem/mns/Client.cpp b/source/RobotAPI/libraries/armem/mns/Client.cpp
index aa751e6d081ef8db1e94c8a2f0d21bb037cbbc8d..cb308f79a4a10ab4be9818c57274785108f63935 100644
--- a/source/RobotAPI/libraries/armem/mns/Client.cpp
+++ b/source/RobotAPI/libraries/armem/mns/Client.cpp
@@ -135,7 +135,7 @@ namespace armarx::armem::mns
 
     client::Writer Client::getWriter(const MemoryID& memoryID)
     {
-        client::Writer(resolveServer(memoryID));
+        return client::Writer(resolveServer(memoryID));
     }
 
 
@@ -161,7 +161,20 @@ namespace armarx::armem::mns
         data::RegisterMemoryResult result = mns->registerMemory(input);
         if (!result.success)
         {
-            throw error::MemoryServerRegistrationFailed(memoryID, result.errorMessage);
+            throw error::ServerRegistrationOrRemovalFailed("register", memoryID, result.errorMessage);
+        }
+    }
+
+
+    void Client::removeServer(const MemoryID& memoryID)
+    {
+        data::RemoveMemoryInput input;
+        input.name = memoryID.memoryName;
+
+        data::RemoveMemoryResult result = mns->removeMemory(input);
+        if (!result.success)
+        {
+            throw error::ServerRegistrationOrRemovalFailed("remove", memoryID, result.errorMessage);
         }
     }
 
diff --git a/source/RobotAPI/libraries/armem/mns/Client.h b/source/RobotAPI/libraries/armem/mns/Client.h
index bf77eec918f5c6224428e8e908e9f694aca11ff7..5979a6cab10472d3d685d94d2ef8ea4a0f0124a2 100644
--- a/source/RobotAPI/libraries/armem/mns/Client.h
+++ b/source/RobotAPI/libraries/armem/mns/Client.h
@@ -118,7 +118,19 @@ namespace armarx::armem::mns
          */
         client::Reader getReader(const MemoryID& memoryID);
 
+        /**
+         * @brief Get Readers for all registered servers.
+         *
+         * @param update If true, perform an update first.
+         * @return The readers.
+         */
         std::map<std::string, client::Reader> getAllReaders(bool update = true);
+        /**
+         * @brief Get Readers for all registered servers.
+         *
+         * @param update If true, perform an update first.
+         * @return The readers.
+         */
         std::map<std::string, client::Reader> getAllReaders() const;
 
 
@@ -132,7 +144,18 @@ namespace armarx::armem::mns
          */
         client::Writer getWriter(const MemoryID& memoryID);
 
+        /**
+         * @brief Get Writers for all registered servers.
+         *
+         * @param update If true, perform an update first.
+         * @return The readers.
+         */
         std::map<std::string, client::Writer> getAllWriters(bool update = true);
+        /**
+         * @brief Get Writers for all registered servers.
+         *
+         * @return The readers.
+         */
         std::map<std::string, client::Writer> getAllWriters() const;
 
 
@@ -144,10 +167,19 @@ namespace armarx::armem::mns
          * @param memoryID The memoryID.
          * @param server The memory server proxy.
          *
-         * @throw `error::MemoryServerRegistrationFailed` If the registration failed.
+         * @throw `error::ServerRegistrationOrRemovalFailed` If the registration failed.
          */
         void registerServer(const MemoryID& memoryID, server::MemoryInterfacePrx server);
 
+        /**
+         * @brief Remove a memory server from the MNS.
+         *
+         * @param memoryID The memoryID.
+         *
+         * @throw `error::ServerRegistrationOrRemovalFailed` If the removal failed.
+         */
+        void removeServer(const MemoryID& memoryID);
+
 
 
         // Operators