diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp
index 294be0e026185730ad780e1d543bd4d250e413e8..b0c00eb4a53881c54cdb4950b07a799960a98f4d 100644
--- a/src/caosdb/transaction.cpp
+++ b/src/caosdb/transaction.cpp
@@ -140,11 +140,16 @@ auto Transaction::ExecuteAsynchronously() noexcept -> void {
                            grpc_status.error_message();
       this->status = TransactionStatus::RPC_ERROR(error_details);
     }
+    return;
   } else {
     this->status = TransactionStatus::SUCCESS();
   }
 
   auto *entity = response.release_entity();
+  if (!entity->errors().empty()) {
+    this->status =
+      TransactionStatus::TRANSACTION_ERROR("The request returned with errors.");
+  }
   this->result_set = std::make_unique<UniqueResult>(entity);
 }