diff --git a/caosdb-proto b/caosdb-proto
index 12f072263c05208464b80c0124bde0396b100d86..3f867687cc71e42e964051b35f856abf6b1c8f09 160000
--- a/caosdb-proto
+++ b/caosdb-proto
@@ -1 +1 @@
-Subproject commit 12f072263c05208464b80c0124bde0396b100d86
+Subproject commit 3f867687cc71e42e964051b35f856abf6b1c8f09
diff --git a/pom.xml b/pom.xml
index 92ae3ce8af20fd8697a58d8d53978e79aa28222a..0b3121bda423d81306bb4ee91aef9fdced2886d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.caosdb</groupId>
   <artifactId>caosdb-server</artifactId>
-  <version>0.5.0-GRPC0.0.5</version>
+  <version>0.5.0-GRPC0.0.6</version>
   <packaging>jar</packaging>
   <name>CaosDB Server</name>
   <scm>
diff --git a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
index 3d7df68a50a170fe930807014f36c24bf086820d..c45a011d6f39f47e9b9732b1090194128bc75589 100644
--- a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
+++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
@@ -2,6 +2,8 @@ package org.caosdb.server.grpc;
 
 import io.grpc.stub.StreamObserver;
 import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.UUID;
 import org.apache.shiro.SecurityUtils;
 import org.caosdb.api.entity.v1alpha1.ByIdRequest;
@@ -14,6 +16,7 @@ import org.caosdb.api.entity.v1alpha1.RetrieveResponse;
 import org.caosdb.api.entity.v1alpha1.Version;
 import org.caosdb.server.entity.EntityInterface;
 import org.caosdb.server.entity.MagicTypes;
+import org.caosdb.server.entity.Message;
 import org.caosdb.server.entity.RetrieveEntity;
 import org.caosdb.server.entity.container.ParentContainer;
 import org.caosdb.server.entity.container.PropertyContainer;
@@ -64,7 +67,33 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
     if (from.hasParents()) {
       builder.addAllParents(convert(from.getParents()));
     }
+    if (from.hasMessage(Message.MessageType.Error.toString())) {
+      builder.addAllErrors(convert(from.getMessages(Message.MessageType.Error.toString())));
+    }
+    if (from.hasMessage(Message.MessageType.Warning.toString())) {
+      builder.addAllErrors(convert(from.getMessages(Message.MessageType.Warning.toString())));
+    }
+    if (from.hasMessage(Message.MessageType.Info.toString())) {
+      builder.addAllErrors(convert(from.getMessages(Message.MessageType.Info.toString())));
+    }
+
+    return builder.build();
+  }
+
+  private Iterable<? extends org.caosdb.api.entity.v1alpha1.Message> convert(
+      final List<Message> messages) {
+    final List<org.caosdb.api.entity.v1alpha1.Message> result = new LinkedList<>();
+    for (final Message m : messages) {
+      result.add(convert(m));
+    }
+    return result;
+  }
 
+  private org.caosdb.api.entity.v1alpha1.Message convert(final Message m) {
+    final org.caosdb.api.entity.v1alpha1.Message.Builder builder =
+        org.caosdb.api.entity.v1alpha1.Message.newBuilder();
+    builder.setCode(m.getCode());
+    builder.setDescription(m.getDescription());
     return builder.build();
   }