diff --git a/Concerns/ManagesTransactions.php b/Concerns/ManagesTransactions.php
index <HASH>..<HASH> 100644
--- a/Concerns/ManagesTransactions.php
+++ b/Concerns/ManagesTransactions.php
@@ -41,13 +41,13 @@ trait ManagesTransactions
             }
 
             try {
-                if ($this->transactions == 1) {
+                $this->transactions = max(0, $this->transactions - 1);
+
+                if ($this->transactions == 0) {
                     $this->getPdo()->commit();
 
                     optional($this->transactionsManager)->commit($this->getName());
                 }
-
-                $this->transactions = max(0, $this->transactions - 1);
             } catch (Throwable $e) {
                 $this->handleCommitTransactionException(
                     $e, $currentAttempt, $attempts
call transaction callbacks after updating the transaction levels (#<I>)