diff --git a/src/ccaosdb.cpp b/src/ccaosdb.cpp
index 8a1786934d351299012a5e30f14f9db92f4fe815..100b3d4c18a1646d6b84a556463a26e6533729d1 100644
--- a/src/ccaosdb.cpp
+++ b/src/ccaosdb.cpp
@@ -333,8 +333,9 @@ ERROR_RETURN_CODE(GENERIC_ERROR,
                     auto *wrapped_transaction =
                       static_cast<caosdb::transaction::Transaction *>(
                         transaction->wrapped_transaction);
-                    wrapped_transaction->Execute();
-                    return 0;
+                    wrapped_transaction->ExecuteAsynchronously();
+		    auto status = wrapped_transaction->WaitForIt();
+                    return status.GetCode();
                   })
 
 ERROR_RETURN_CODE(GENERIC_ERROR,