diff --git a/src/caosdb/unary_rpc_handler.cpp b/src/caosdb/unary_rpc_handler.cpp
index d6f970663a6a8f92a5afe4ae402e73b886a3fe0e..06afc127cecea22b1b805d20a68eab177841e981 100644
--- a/src/caosdb/unary_rpc_handler.cpp
+++ b/src/caosdb/unary_rpc_handler.cpp
@@ -100,8 +100,8 @@ bool UnaryRpcHandler::OnNext(bool ok) {
 
 void UnaryRpcHandler::Cancel() {
   state_ = CallState::CallComplete;
-  call_context.TryCancel();
   transaction_status = TransactionStatus::CANCELLED();
+  call_context.TryCancel();
 }
 
 void UnaryRpcHandler::handleCallCompleteState() {