diff --git a/src/gui_interface.py b/src/gui_interface.py
index 1fb6c304315a762f59b8f3bae03a954198fc50f3..0b43fb708f1036388c26046991e0d9515bacc33c 100644
--- a/src/gui_interface.py
+++ b/src/gui_interface.py
@@ -2467,7 +2467,8 @@ class Interface:
         # FIXME: recognize xmpp: and treat it specially
         links = r"((?<=\()[A-Za-z][A-Za-z0-9\+\.\-]*:"\
             r"([\w\.\-_~:/\?#\[\]@!\$&'\(\)\*\+,;=]|%[A-Fa-f0-9]{2})+"\
-            r"(?=\)))|(\w[\w\+\.\-]*:(\S|%[A-Fa-f0-9]{2})+)"
+            r"(?=\)))|([A-Za-z][A-Za-z0-9\+\.\-]*:([\w\.\-_~:/\?#\[\]@!\$"\
+            r"&'\(\)\*\+,;=]|%[A-Fa-f0-9]{2})+)"
 
         # 2nd one: at_least_one_char@at_least_one_char.at_least_one_char
         mail = r'\bmailto:\S*[^\s\W]|' r'\b\S+@\S+\.\S*[^\s\W]'