diff --git a/pom.xml b/pom.xml
index f3ab3fc572e2d7d50a31198ed295ad6439a030c6..95345d95992fb3a7081fd6277c30f8deefadd9a8 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.7</version>
+  <version>0.5.0-GRPC0.0.8</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 43d52ba5ef58198f444080dd5d50d81aba7cd52f..cfec86466e4893c11c7936350a5fc9f79cd2e02e 100644
--- a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
+++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
@@ -218,6 +218,19 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
         final RetrieveEntity entity = new RetrieveEntity(getId(id));
         container.add(entity);
 
+      } catch (final NumberFormatException e) {
+        // We handle this after the retrieval
+      }
+    }
+
+    final Retrieve transaction = new Retrieve(container);
+    transaction.execute();
+
+    for (final TransactionRequest sub_request : request.getRequestsList()) {
+      final String id = sub_request.getRetrieveRequest().getId();
+      try {
+        final EntityInterface entity = container.getEntityById(getId(id));
+
         builder.addResponses(
             TransactionResponse.newBuilder()
                 .setRetrieveResponse(RetrieveResponse.newBuilder().setEntity(convert(entity))));
@@ -230,10 +243,6 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
                     RetrieveResponse.newBuilder().setEntity(entityDoesNotExist(id))));
       }
     }
-
-    final Retrieve transaction = new Retrieve(container);
-    transaction.execute();
-
     return builder.build();
   }