diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index f3f14289cb..7204f15110 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -160,6 +160,7 @@
[Fix] Restrict search for language/../iso.txt to folders. (Bug #57795)
[Fix] Make user_email_hash() function independent from system's architecture. (Bug #57755)
[Fix] Correct behavior of "force_approved_state" when value is false. (Bug #57715)
+ [Fix] Global announcements could not be accessed on a board using Firebird as the database server. (Bug #57525)
[Change] Move redirect into a hidden field to avoid issues with mod_security. (Bug #54145)
[Change] Log activation through inactive users ACP. (Bug #30145)
[Change] Send time of last item instead of current time in ATOM Feeds. (Bug #53305)
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index 8f42342a87..29c4e5cdc1 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -186,6 +186,13 @@ $sql_array = array(
'FROM' => array(FORUMS_TABLE => 'f'),
);
+// Firebird handles two columns of the same name a little differently, this
+// addresses that by forcing the forum_id to come from the forums table.
+if ($db->sql_layer === 'firebird')
+{
+ $sql_array['SELECT'] = 'f.forum_id AS forum_id, ' . $sql_array['SELECT'];
+}
+
// The FROM-Order is quite important here, else t.* columns can not be correctly bound.
if ($post_id)
{