diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 287f32f5a4..804be705ef 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -139,6 +139,7 @@
[Fix] Display "empty password error" within the login box instead of issuing a general error (Bug #22525)
[Fix] Clean up who is online code in page_header (Bug #22715, thanks HighwayofLife)
[Fix] Pertain select single link on memberlist (Bug #23235 - patch provided by Schumi)
+ [Fix] Allow & and | in local part of email addresses (Bug #22995)
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 5622b2dd6c..e61df309b3 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -2771,7 +2771,7 @@ function get_preg_expression($mode)
switch ($mode)
{
case 'email':
- return '[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.(?:[a-z0-9\-]+\.)*[a-z]+';
+ return '(?:[a-z0-9\'\.\-_\+\|]|&)+@[a-z0-9\-]+\.(?:[a-z0-9\-]+\.)*[a-z]+';
break;
case 'bbcode_htm':