diff --git a/sqlite/tx.go b/sqlite/tx.go
index 6b9c509590c44716cc5e2294c2352affd4f5ffe2..19948754393290940751aad8dd6a4c297a20fd83 100644
--- a/sqlite/tx.go
+++ b/sqlite/tx.go
@@ -35,13 +35,15 @@ var (
 )
 
 func (t *tx) Commit() error {
-	sess := t.Session()
-	defer sess.Close()
+	if sess := t.Session(); sess != nil {
+		defer sess.Close()
+	}
 	return t.DatabaseTx.Commit()
 }
 
 func (t *tx) Rollback() error {
-	sess := t.Session()
-	defer sess.Close()
+	if sess := t.Session(); sess != nil {
+		defer sess.Close()
+	}
 	return t.DatabaseTx.Rollback()
 }