diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index e37edda9757635a74d9262e2de0ba45c9670a094..2d87c63344dd9fb6090c6aa944c06f576e550af9 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -430,7 +430,7 @@ class functions {
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($username,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $username) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
 		
 		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
 		
@@ -443,7 +443,7 @@ class functions {
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($groupname,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $groupname) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
 		
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
 		
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 20d4f93a1ce4460d8c2705db63ec64ba7cfb3af9..af42e5ec31ff46adf1468acfa70b75c56b96c102 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1824,7 +1824,7 @@ class system{
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($username,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $username) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
 		
 		if($check_id && intval($this->getuid($username)) < $this->min_uid) return false;
 		
@@ -1839,7 +1839,7 @@ class system{
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($groupname,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $groupname) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
 		
 		if($check_id && intval($this->getgid($groupname)) < $this->min_gid) return false;