diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index a8211ae925..e7013e9bae 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -103,6 +103,7 @@
[Fix] Stricter checks on smilie packs (Bug #19675)
[Fix] Gracefully return from cancelling pm drafts (Bug #19675)
[Fix] Possible login problems with IE7 if browser check is activated (Bug #20135)
+ [Fix] Fix possible database transaction errors if code returns on error and rollback happened (Bug #17025)
1.i. Changes since 3.0.RC8
diff --git a/phpBB/includes/db/dbal.php b/phpBB/includes/db/dbal.php
index e37ccda0db..4964ac87f7 100644
--- a/phpBB/includes/db/dbal.php
+++ b/phpBB/includes/db/dbal.php
@@ -262,6 +262,13 @@ class dbal
return true;
}
+ // Check if there is a transaction (no transaction can happen if there was an error, with a combined rollback and error returning enabled)
+ // This implies we have transaction always set for autocommit db's
+ if (!$this->transaction)
+ {
+ return false;
+ }
+
$result = $this->_sql_transaction('commit');
if (!$result)