diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index eb8d65a4ef..7a2c551af7 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -173,6 +173,7 @@
 		<li>[Fix] Restrict search for language/../iso.txt to folders. (Bug #57795)</li>
 		<li>[Fix] Make user_email_hash() function independent from system's architecture. (Bug #57755)</li>
 		<li>[Fix] Correct behavior of &quot;force_approved_state&quot; when value is false. (Bug #57715)</li>
+		<li>[Fix] Global announcements could not be accessed on a board using Firebird as the database server. (Bug #57525)</li>
 		<li>[Change] Move redirect into a hidden field to avoid issues with mod_security. (Bug #54145)</li>
 		<li>[Change] Log activation through inactive users ACP. (Bug #30145)</li>
 		<li>[Change] Send time of last item instead of current time in ATOM Feeds. (Bug #53305)</li>
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)
 {