diff --git a/caosdb-proto b/caosdb-proto
index c01fd9ff1471adafa707fdb36bdaa49749079fa6..fe58edacdedd2fa9992c103e18d4ae4875798a2c 160000
--- a/caosdb-proto
+++ b/caosdb-proto
@@ -1 +1 @@
-Subproject commit c01fd9ff1471adafa707fdb36bdaa49749079fa6
+Subproject commit fe58edacdedd2fa9992c103e18d4ae4875798a2c
diff --git a/src/main/java/org/caosdb/server/entity/Message.java b/src/main/java/org/caosdb/server/entity/Message.java
index e8c1a63080eca37451eebf8b1a39e5457b8c3732..c65af964c12e60f409b908e3621e78dbc712fff4 100644
--- a/src/main/java/org/caosdb/server/entity/Message.java
+++ b/src/main/java/org/caosdb/server/entity/Message.java
@@ -25,6 +25,7 @@ import java.util.HashMap;
 import java.util.Map;
 import org.caosdb.api.entity.v1.MessageCode;
 import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class Message extends Exception implements Comparable<Message>, ToElementable {
@@ -34,20 +35,21 @@ public class Message extends Exception implements Comparable<Message>, ToElement
   private final String description;
   private final String body;
 
-  @Deprecated private static final Map<MessageCode, String> legacy_codes_mapping = new HashMap<>();
+  @Deprecated private static final Map<Message, String> legacy_codes_mapping = new HashMap<>();
 
   static {
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_ENTITY_HAS_BEEN_DELETED_SUCCESSFULLY, "10");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_ATOMICITY_ERROR, "12");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_ENTITY_DOES_NOT_EXIST, "101");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_PROPERTY_HAS_NO_DATA_TYPE, "110");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_ENTITY_HAS_UNQUALIFIED_PROPERTIES, "114");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_ENTITY_HAS_UNQUALIFIED_PARENTS, "116");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_WARNING_OCCURED, "128");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_ENTITY_NAME_IS_NOT_UNIQUE, "152");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_REQUIRED_BY_UNQUALIFIED, "192");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_REFERENCED_ENTITY_DOES_NOT_EXIST, "235");
-    legacy_codes_mapping.put(MessageCode.MESSAGE_CODE_AUTHORIZATION_ERROR, "403");
+    legacy_codes_mapping.put(ServerMessages.ENTITY_HAS_BEEN_DELETED_SUCCESSFULLY, "10");
+    legacy_codes_mapping.put(ServerMessages.ATOMICITY_ERROR, "12");
+    legacy_codes_mapping.put(ServerMessages.ENTITY_DOES_NOT_EXIST, "101");
+    legacy_codes_mapping.put(ServerMessages.PROPERTY_HAS_NO_DATATYPE, "110");
+    legacy_codes_mapping.put(ServerMessages.ENTITY_HAS_UNQUALIFIED_PROPERTIES, "114");
+    legacy_codes_mapping.put(ServerMessages.ENTITY_HAS_UNQUALIFIED_PARENTS, "116");
+    legacy_codes_mapping.put(ServerMessages.WARNING_OCCURED, "128");
+    legacy_codes_mapping.put(ServerMessages.ENTITY_NAME_IS_NOT_UNIQUE, "152");
+    legacy_codes_mapping.put(ServerMessages.REQUIRED_BY_UNQUALIFIED, "192");
+    legacy_codes_mapping.put(ServerMessages.REFERENCED_ENTITY_DOES_NOT_EXIST, "235");
+    legacy_codes_mapping.put(ServerMessages.AUTHORIZATION_ERROR, "403");
+    legacy_codes_mapping.put(ServerMessages.ROLE_DOES_NOT_EXIST, "1104");
   }
 
   private static final long serialVersionUID = 1837110172902899264L;
@@ -147,9 +149,11 @@ public class Message extends Exception implements Comparable<Message>, ToElement
 
   public Element toElement() {
     final Element e = new Element(this.type);
-    if (this.code != null && this.code != MessageCode.MESSAGE_CODE_UNKNOWN) {
-      if (legacy_codes_mapping.containsKey(this.code)) {
-        e.setAttribute("code", legacy_codes_mapping.get(this.code));
+    if (this.code != null) {
+      if (legacy_codes_mapping.containsKey(this)) {
+        e.setAttribute("code", legacy_codes_mapping.get(this));
+      } else if (this.code == MessageCode.MESSAGE_CODE_UNKNOWN) {
+        e.setAttribute("code", "0");
       } else {
         e.setAttribute("code", Integer.toString(this.code.getNumber()));
       }
diff --git a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
index 4608bd49034d4957a4a19dcf6e03913d99201274..a9c74cc1bed1cdd0de26847e629d1264db377753 100644
--- a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
+++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
@@ -36,7 +36,6 @@ import org.caosdb.server.utils.ServerMessages;
 
 public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBase {
 
-  /// MOVE END
   private final CaosDBToGrpcConverters caosdbToGrpc = new CaosDBToGrpcConverters();
   private final GrpcToCaosDBConverters grpcToCaosdb = new GrpcToCaosDBConverters();
   private final FileTransmissionServiceImpl fileTransmissionService;
diff --git a/src/main/java/org/caosdb/server/grpc/GrpcToCaosDBConverters.java b/src/main/java/org/caosdb/server/grpc/GrpcToCaosDBConverters.java
index a79f1293f2d0f6ddc343da3b4215db9cc9ec1c94..302800711262ace87513eee9d5712420a4e496f5 100644
--- a/src/main/java/org/caosdb/server/grpc/GrpcToCaosDBConverters.java
+++ b/src/main/java/org/caosdb/server/grpc/GrpcToCaosDBConverters.java
@@ -33,7 +33,7 @@ import org.caosdb.server.utils.EntityStatus;
 import org.caosdb.server.utils.ServerMessages;
 
 public class GrpcToCaosDBConverters {
-  /// MOVE
+
   public Integer getId(final String id) {
     return Integer.parseInt(id);
   }