diff --git a/hasql-transaction.cabal b/hasql-transaction.cabal
--- a/hasql-transaction.cabal
+++ b/hasql-transaction.cabal
@@ -1,7 +1,7 @@
 name:
   hasql-transaction
 version:
-  0.4.4
+  0.4.4.1
 category:
   Hasql, Database, PostgreSQL
 synopsis:
diff --git a/library/Hasql/Transaction.hs b/library/Hasql/Transaction.hs
--- a/library/Hasql/Transaction.hs
+++ b/library/Hasql/Transaction.hs
@@ -62,8 +62,9 @@
 run :: Transaction a -> IsolationLevel -> Mode -> Session.Session a
 run (Transaction session) isolation mode =
   do
-    Session.query () (Queries.beginTransaction mode')
-    resultEither <- tryError session
+    resultEither <- do
+      Session.query () (Queries.beginTransaction mode')
+      tryError session
     case resultEither of
       Left error -> do
         Session.query () Queries.abortTransaction
