diff --git a/files/helpers/sanitize.py b/files/helpers/sanitize.py
index 54340521f..fdb3e98b9 100644
--- a/files/helpers/sanitize.py
+++ b/files/helpers/sanitize.py
@@ -377,14 +377,18 @@ def sanitize(sanitized, golden=True, limit_pings=0, showmore=True, count_emojis=
sanitized = mention_regex.sub(replacer, sanitized)
if FEATURES['PING_GROUPS']:
- for i in group_mention_regex.finditer(sanitized):
- name = i.group(1).lower()
+ def group_replacer(m):
+ name = m.group(1).lower()
+
if name == 'everyone':
- sanitized = group_mention_regex.sub(r'!\1', sanitized)
+ return f'!{name}'
+ elif g.db.get(Group, name):
+ return f'!{name}'
else:
- existing = g.db.get(Group, name)
- if existing:
- sanitized = sanitized.replace(i.group(0), f'!{name}', 1)
+ return m.group(0)
+
+ sanitized = group_mention_regex.sub(group_replacer, sanitized)
+
soup = BeautifulSoup(sanitized, 'lxml')