diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php
index 25f16af682e0587d1c03050190e68abf42c49304..08f9b6f2af6ca49907178b62658242a71a58e058 100644
--- a/interface/lib/classes/validate_domain.inc.php
+++ b/interface/lib/classes/validate_domain.inc.php
@@ -79,6 +79,25 @@ class validate_domain {
         if(!$result) return $this->get_error('domain_error_unique');
     }
     
+    /* Validator function for checking the auto subdomain of a web/aliasdomain */
+    function web_domain_autosub($field_name, $field_value, $validator) {
+        global $app;
+        if(empty($field_value) || $field_name != 'subdomain') return; // none set
+        
+        $check_domain = $_POST['domain'];
+        $app->uses('ini_parser,getconf');
+        $settings = $app->getconf->get_global_config('domains');
+        if ($settings['use_domain_module'] == 'y') {
+            $sql = "SELECT domain_id, domain FROM domain WHERE domain_id = " . intval($check_domain);
+            $domain_check = $app->db->queryOneRecord($sql);
+            if(!$domain_check) return;
+            $check_domain = $domain_check['domain'];
+        }
+        
+        $result = $this->_check_unique($field_value . '.' . $check_domain, true);
+        if(!$result) return $this->get_error('domain_error_autosub');
+    }
+    
     /* internal validator function to match regexp */
     function _regex_validate($domain_name, $allow_wildcard = false) {
         $pattern = '/^' . ($allow_wildcard == true ? '(\*\.)?' : '') . '[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/';
@@ -86,14 +105,16 @@ class validate_domain {
     }
     
     /* check if the domain hostname is unique (keep in mind the auto subdomains!) */
-    function _check_unique($domain_name) {
+    function _check_unique($domain_name, $only_domain = false) {
         global $app;
         
         $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `domain` = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . intval($app->tform->primary_id));
         if($check['cnt'] > 0) return false;
         
-        $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . intval($app->tform->primary_id));
-        if($check['cnt'] > 0) return false;
+        if($only_domain == false) {
+            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . intval($app->tform->primary_id));
+            if($check['cnt'] > 0) return false;
+        }
         
         return true;
     }
diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php
index 69cf83135c802906d098a60b32f946698f1c03ed..342272e95587adad4a322ef6fe7bc31939e20fe4 100644
--- a/interface/web/sites/form/web_aliasdomain.tform.php
+++ b/interface/web/sites/form/web_aliasdomain.tform.php
@@ -121,6 +121,11 @@ $form["tabs"]['domain'] = array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
 			'default'	=> 'www',
+            'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
+                                                        'class' => 'validate_domain',
+                                                        'function' => 'web_domain_autosub',
+                                                        'errmsg'=> 'domain_error_autosub'),
+                                    ),
 			'value'		=> array('none' => 'none_txt', 'www' => 'www.', '*' => '*.')
 		),
 		'active' => array (
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 1deec48ad2d29f2b272b8f892bd0ff2ca58c2cec..673662fa354b903af8e433e82d80e7b2d49d6287 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -212,6 +212,11 @@ $form["tabs"]['domain'] = array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'SELECT',
 			'default'	=> 'www',
+            'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
+                                                        'class' => 'validate_domain',
+                                                        'function' => 'web_domain_autosub',
+                                                        'errmsg'=> 'domain_error_autosub'),
+                                    ),
 			'value'		=> ($wildcard_available ? array('none' => 'none_txt', 'www' => 'www.', '*' => '*.') : array('none' => 'none_txt', 'www' => 'www.'))
 		),
 		'ssl' => array (
diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng
index 81aea7e6a747a4b255d5f1ccc80828ffcd017268..d99f6a05a2f4677e97ea5f9dcca677350e7fa6d3 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_domain.lng
@@ -37,6 +37,7 @@ $wb['apache_directives_txt'] = 'Apache Direktiven';
 $wb['domain_error_empty'] = 'Domain ist leer.';
 $wb['domain_error_unique'] = 'Domain muss eindeutig sein';
 $wb['domain_error_regex'] = 'Domainname ungültig.';
+$wb['domain_error_autosub'] = 'Es existiert bereits eine Subdomain mit diesen Einstellungen.';
 $wb['hd_quota_error_empty'] = 'Harddisk Quota ist leer.';
 $wb['traffic_quota_error_empty'] = 'Traffic Quota ist leer.';
 $wb['errordocs_txt'] = 'Eigene Fehlerseiten';
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index 641f15f7d842c57dd24bb5f39bbb2487ffee12c3..12ed41b063598a47b4b3b068fcbd9322a1fe5fbe 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -43,6 +43,7 @@ $wb["apache_directives_txt"] = 'Apache Directives';
 $wb["domain_error_empty"] = 'Domain is empty.';
 $wb["domain_error_unique"] = 'There is already a website or sub / aliasdomain with this domain name.';
 $wb["domain_error_regex"] = 'Domain name invalid.';
+$wb["domain_error_autosub"] = 'There is already a subdomain with these settings.';
 $wb["hd_quota_error_empty"] = 'Harddisk quota is 0 or empty.';
 $wb["traffic_quota_error_empty"] = 'Traffic quota is empty.';
 $wb["error_ssl_state_empty"] = 'SSL State is empty.';