diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 3f028bb85c..46719dfea8 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -281,6 +281,7 @@ p a {
[Fix] Simulate Firebird's affected rows mechanism for older versions of PHP
[Fix] Custom BBCodes properly handle lowercasing of parameterized tags (Bug #12377)
[Fix] Update the forum_id sequence for PostgreSQL during conversion (Bug #11927)
+ [Fix] Allow for multiple tags containing URL and LOCAL_URL tokens (Bug #12473)
diff --git a/phpBB/includes/acp/acp_bbcodes.php b/phpBB/includes/acp/acp_bbcodes.php
index 1c43daf642..65c1f9026d 100644
--- a/phpBB/includes/acp/acp_bbcodes.php
+++ b/phpBB/includes/acp/acp_bbcodes.php
@@ -295,10 +295,10 @@ class acp_bbcodes
// @todo Make sure to change this too if something changed in message parsing
$tokens = array(
'URL' => array(
- '!([a-z0-9]+://)?([^< "\r\n\t\]]*)!ie' => "(('\$1') ? '\$1\$2' : 'http://\$2')"
+ '!([a-z0-9]+://)?([^< "\r\n\t\]]*?)!ie' => "(('\$1') ? '\$1\$2' : 'http://\$2')"
),
'LOCAL_URL' => array(
- '!([^:]+/[^< "\r\n\t\]]*)!' => '$1'
+ '!([^:]+/[^< "\r\n\t\]]*?)!' => '$1'
),
'EMAIL' => array(
'!([a-z0-9]+[a-z0-9\-\._]*@(?:(?:[0-9]{1,3}\.){3,5}[0-9]{1,3}|[a-z0-9]+[a-z0-9\-\._]*\.[a-z]+))!i' => '$1'