diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index 68cb3ba7d8e1153abd8a993b6aba39a2e65f58b3..dbe5aa63e60cf8e18c7e921475439adcd64eb15c 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -1,3 +1,9 @@
 ALTER TABLE `mail_user`
 	CHANGE `uid` `uid` int(11) NOT NULL DEFAULT '5000',
 	CHANGE `gid` `gid` int(11) NOT NULL DEFAULT '5000';
+
+ALTER TABLE `client_template` ADD `default_mailserver` INT(11) NOT NULL DEFAULT 1;
+ALTER TABLE `client_template` ADD `default_webserver` INT(11) NOT NULL DEFAULT 1;
+ALTER TABLE `client_template` ADD `default_dnsserver` INT(11) NOT NULL DEFAULT 1;
+ALTER TABLE `client_template` ADD `default_slave_dnsserver` INT(11) NOT NULL DEFAULT 1;
+ALTER TABLE `client_template` ADD `default_dbserver` INT(11) NOT NULL DEFAULT 1;
diff --git a/interface/lib/classes/client_templates.inc.php b/interface/lib/classes/client_templates.inc.php
index 81f8bd37f5df45921f7cb7a257360624e187e4c8..993936b2cead67d8b1359ed5399c3933364eafcf 100644
--- a/interface/lib/classes/client_templates.inc.php
+++ b/interface/lib/classes/client_templates.inc.php
@@ -146,7 +146,7 @@ class client_templates {
 			if (is_array($addLimits)){
 				foreach($addLimits as $k => $v){
 					/* we can remove this condition, but it is easier to debug with it (don't add ids and other non-limit values) */
-					if (strpos($k, 'limit') !== false or $k == 'ssh_chroot' or $k == 'web_php_options' or $k == 'force_suexec'){
+					if (strpos($k, 'limit') !== false or strpos($k, 'default') !== false or $k == 'ssh_chroot' or $k == 'web_php_options' or $k == 'force_suexec'){
 						$app->log('Template processing key ' . $k . ' for client ' . $clientId, LOGLEVEL_DEBUG);
 
 						/* process the numerical limits */
@@ -160,6 +160,15 @@ class client_templates {
 								if ($limits[$k] < 1) $limits[$k] = 1;
 								break;
 
+							case 'default_mailserver':
+							case 'default_webserver':
+							case 'default_dnsserver':
+							case 'default_slave_dnsserver':
+							case 'default_dbserver':
+								/* additional templates don't override default server from main template */
+								if ($limits[$k] == 0) $limits[$k] = $v;
+								break;
+
 							default:
 								if ($limits[$k] > -1){
 									if ($v == -1){
@@ -225,7 +234,10 @@ class client_templates {
 		$update = '';
 		if(!$is_reseller) unset($limits['limit_client']); // Only Resellers may have limit_client set in template to ensure that we do not convert a client to reseller accidently.
 		foreach($limits as $k => $v){
-			if ((strpos($k, 'limit') !== false or $k == 'ssh_chroot' or $k == 'web_php_options' or $k == 'force_suexec') && !is_array($v)){
+			if (strpos($k, 'default') !== false and $v == 0) {
+				continue; // template doesn't define default server, client's default musn't be changed
+			}
+			if ((strpos($k, 'limit') !== false or strpos($k, 'default') !== false or $k == 'ssh_chroot' or $k == 'web_php_options' or $k == 'force_suexec') && !is_array($v)){
 				if ($update != '') $update .= ', ';
 				$update .= '`' . $k . "`='" . $v . "'";
 			}
diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index 2e08130aa7bae17d24557e97d6b8c6732db5bf7b..86ed19f1a2a9f8253adabe177f488385fefe31ae 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -172,6 +172,28 @@ $form["tabs"]['sites'] = array (
 			'default' => 'n',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
+		'default_webserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '1',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => '',
+			'name'  => 'default_webserver'
+		),
+		'default_dbserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '1',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => '',
+			'name'  => 'default_dbserver'
+		),
 		//#################################
 		// ENDE Datatable fields
 		//#################################
@@ -321,6 +343,53 @@ $form["tabs"]['mail'] = array (
 			'default' => '',
 			'value'  => array('' => 'No', 'ssl' => 'SSL', 'tls' => 'STARTTLS')
 		),
+		'default_mailserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '1',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => '',
+			'name'  => 'default_mailserver'
+		),
+		//#################################
+		// ENDE Datatable fields
+		//#################################
+	)
+);
+
+$form["tabs"]['dns'] = array (
+	'title'  => "DNS",
+	'width'  => 70,
+	'template'  => "templates/system_config_dns_edit.htm",
+	'fields'  => array (
+		//#################################
+		// Begin Datatable fields
+		//#################################
+		'default_dnsserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '1',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => '',
+			'name'  => 'default_dnsserver'
+		),
+		'default_slave_dnsserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '1',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => '',
+			'name'  => 'default_slave_dnsserver'
+		),
 		//#################################
 		// ENDE Datatable fields
 		//#################################
diff --git a/interface/web/admin/lib/lang/en.lng b/interface/web/admin/lib/lang/en.lng
index d9cbc7f8392567bfc902daa51cd6c30788faf29c..0d075c1165f313999869728b14aad2be41a21b67 100644
--- a/interface/web/admin/lib/lang/en.lng
+++ b/interface/web/admin/lib/lang/en.lng
@@ -41,6 +41,8 @@ $wb['Firewall'] = 'Firewall';
 
 $wb['Interface'] = 'Interface';
 $wb['Interface Config'] = 'Main Config';
+    $wb['Sites'] = 'Sites';
+    $wb['DNS'] = 'DNS';
     $wb['Domains'] = 'Domains';
     $wb['Misc'] = 'Misc';
 
@@ -59,4 +61,4 @@ $wb['Import'] = 'Import';
 $wb['Remote Actions'] = 'Remote Actions';
 $wb['Do OS-Update'] = 'Do OS-Update';
 $wb['Do ISPConfig-Update'] = 'Do ISPConfig-Update';
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng
index 51131ef3d6265d38a237c4e8bc3925ad20b7a30c..3fa210f07d32d8ca3375463feca37927a989c265 100644
--- a/interface/web/admin/lib/lang/en_system_config.lng
+++ b/interface/web/admin/lib/lang/en_system_config.lng
@@ -73,4 +73,9 @@ $wb['session_allow_endless_txt'] = 'Enable "stay logged in"';
 $wb['No'] = 'No';
 $wb['min_password_length_txt'] = 'Minimum password length';
 $wb['min_password_strength_txt'] = 'Minimum password strength';
+$wb["default_mailserver_txt"] = 'Default Mailserver';
+$wb["default_webserver_txt"] = 'Default Webserver';
+$wb["default_dnsserver_txt"] = 'Default DNS Server';
+$wb["default_slave_dnsserver_txt"] = 'Default Secondary DNS Server';
+$wb["default_dbserver_txt"] = 'Default Database Server';
 ?>
diff --git a/interface/web/admin/lib/lang/es.lng b/interface/web/admin/lib/lang/es.lng
index 8e5b0843f171e04d0c2aa24bef4b026a80a0b61b..cd26b06c2d9b3e78857de9c25359d8c11adc4140 100644
--- a/interface/web/admin/lib/lang/es.lng
+++ b/interface/web/admin/lib/lang/es.lng
@@ -47,4 +47,6 @@ $wb['Directive Snippets'] = 'Fragmentos de Directivas';
 $wb['Interface'] = 'Interfaz';
 $wb['Domains'] = 'Dominios';
 $wb['Misc'] = 'Misc';
+$wb['Sites'] = 'Sitios';
+$wb['DNS'] = 'DNS';
 ?>
diff --git a/interface/web/admin/lib/lang/es_system_config.lng b/interface/web/admin/lib/lang/es_system_config.lng
index ec1cb69051b697032d3ab186f2242271287813b1..503d844b7f8746ff566e17d411eab78c40f3cfd2 100644
--- a/interface/web/admin/lib/lang/es_system_config.lng
+++ b/interface/web/admin/lib/lang/es_system_config.lng
@@ -70,4 +70,9 @@ $wb['min_password_length_txt'] = 'Longitud de contraseña mínima';
 $wb['min_password_strength_txt'] = 'Fortaleza de contraseña mínima';
 $wb['Sites'] = 'Sitios';
 $wb['System Config'] = 'Configuración de sistema';
+$wb['default_mailserver_txt'] = 'Servidor de correo por defecto';
+$wb['default_webserver_txt'] = 'Servidor web por defecto';
+$wb['default_dnsserver_txt'] = 'Servidor DNS por defecto';
+$wb['default_slave_dnsserver_txt'] = 'Servidor DNS secundario por defecto';
+$wb['default_dbserver_txt'] = 'Servidor de bases de datos por defecto';
 ?>
diff --git a/interface/web/admin/list/server.list.php b/interface/web/admin/list/server.list.php
index 85b6e656f2d6bcef99d3ffb4933a4fbb6d08817c..0309b7a3c1a60c69ad152ff884a925743ac8bbe9 100644
--- a/interface/web/admin/list/server.list.php
+++ b/interface/web/admin/list/server.list.php
@@ -5,7 +5,7 @@
 	- DOUBLE
 	- CURRENCY
 	- VARCHAR
-	- TEXT
+	- SELECT
 	- DATE
 */
 
@@ -58,7 +58,7 @@ $liste['item'][] = array( 'field'  => 'server_name',
 
 $liste['item'][] = array( 'field'  => 'mail_server',
 	'datatype' => 'VARCHAR',
-	'formtype' => 'TEXT',
+	'formtype' => 'SELECT',
 	'op'  => 'like',
 	'prefix' => '%',
 	'suffix' => '%',
@@ -67,7 +67,7 @@ $liste['item'][] = array( 'field'  => 'mail_server',
 
 $liste['item'][] = array( 'field'  => 'web_server',
 	'datatype' => 'VARCHAR',
-	'formtype' => 'TEXT',
+	'formtype' => 'SELECT',
 	'op'  => 'like',
 	'prefix' => '%',
 	'suffix' => '%',
@@ -76,7 +76,7 @@ $liste['item'][] = array( 'field'  => 'web_server',
 
 $liste['item'][] = array( 'field'  => 'dns_server',
 	'datatype' => 'VARCHAR',
-	'formtype' => 'TEXT',
+	'formtype' => 'SELECT',
 	'op'  => 'like',
 	'prefix' => '%',
 	'suffix' => '%',
@@ -85,7 +85,7 @@ $liste['item'][] = array( 'field'  => 'dns_server',
 
 $liste['item'][] = array( 'field'  => 'file_server',
 	'datatype' => 'VARCHAR',
-	'formtype' => 'TEXT',
+	'formtype' => 'SELECT',
 	'op'  => 'like',
 	'prefix' => '%',
 	'suffix' => '%',
@@ -94,7 +94,7 @@ $liste['item'][] = array( 'field'  => 'file_server',
 
 $liste['item'][] = array( 'field'  => 'db_server',
 	'datatype' => 'VARCHAR',
-	'formtype' => 'TEXT',
+	'formtype' => 'SELECT',
 	'op'  => 'like',
 	'prefix' => '%',
 	'suffix' => '%',
@@ -103,7 +103,7 @@ $liste['item'][] = array( 'field'  => 'db_server',
 
 $liste['item'][] = array( 'field'  => 'vserver_server',
 	'datatype' => 'VARCHAR',
-	'formtype' => 'TEXT',
+	'formtype' => 'SELECT',
 	'op'  => 'like',
 	'prefix' => '%',
 	'suffix' => '%',
diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index 3a2ac8e76584ddb13750d56ae7a0b7dfcbeceffd..a793a83eecdea358d570e5b13cfc6b4a0ac45ff3 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -64,6 +64,9 @@ class page_action extends tform_actions {
 			$server_id = $this->id;
 
 			$this->dataRecord = $app->getconf->get_global_config($section);
+			if (is_null($this->dataRecord)) {
+				$this->dataRecord = array();
+			}
 			if ($section == 'domains'){
 				if (isset($this->dataRecord['use_domain_module'])){
 					$_SESSION['use_domain_module_old_value'] = $this->dataRecord['use_domain_module'];
diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm
index 98966fd2b9d248cd8d3704b0492cbd02b3f0ff19..b231495b49ff7429289bd4aea39b331781c323d5 100644
--- a/interface/web/admin/templates/system_config_mail_edit.htm
+++ b/interface/web/admin/templates/system_config_mail_edit.htm
@@ -85,6 +85,12 @@
                     {tmpl_var name='smtp_crypt'}
                 </select>
             </div>
+            <div class="ctrlHolder">
+                <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label>
+                <select name="default_mailserver" id="default_mailserver" class="selectInput">
+                    {tmpl_var name='default_mailserver'}
+                </select>
+            </div>
         </fieldset>
             
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm
index f98493ee79be98c6562b9ffc63a5d31e1718c422..7811b17550091c2c00b88b045eece5439bf399e1 100644
--- a/interface/web/admin/templates/system_config_sites_edit.htm
+++ b/interface/web/admin/templates/system_config_sites_edit.htm
@@ -63,6 +63,18 @@
                     {tmpl_var name='reseller_can_use_options'}
                 </div>
             </div>
+            <div class="ctrlHolder">
+                <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label>
+                <select name="default_webserver" id="default_webserver" class="selectInput">
+                    {tmpl_var name='default_webserver'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label>
+                <select name="default_dbserver" id="default_dbserver" class="selectInput">
+                    {tmpl_var name='default_dbserver'}
+                </select>
+            </div>
         </fieldset>
             
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
diff --git a/interface/web/client/client_edit.php b/interface/web/client/client_edit.php
index 54b8d1d525478c994468511ea80da93bc4453e6b..ecfa30f3dcd4e15e71c4e2682057f099675cc216 100644
--- a/interface/web/client/client_edit.php
+++ b/interface/web/client/client_edit.php
@@ -291,14 +291,29 @@ class page_action extends tform_actions {
 		}
 
 		//* Set the default servers
-		$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE mail_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
-		$default_mailserver = $app->functions->intval($tmp['server_id']);
-		$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE web_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
-		$default_webserver = $app->functions->intval($tmp['server_id']);
-		$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE dns_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
-		$default_dnsserver = $app->functions->intval($tmp['server_id']);
-		$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE db_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
-		$default_dbserver = $app->functions->intval($tmp['server_id']);
+		$tmp = $app->getconf->get_global_config('mail');
+		$default_mailserver = $app->functions->intval($tmp['default_mailserver']);
+		if (!$default_mailserver) {
+			$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE mail_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
+			$default_mailserver = $app->functions->intval($tmp['server_id']);
+		}
+		$tmp = $app->getconf->get_global_config('sites');
+		$default_webserver = $app->functions->intval($tmp['default_webserver']);
+		$default_dbserver = $app->functions->intval($tmp['default_dbserver']);
+		if (!$default_webserver) {
+			$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE web_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
+			$default_webserver = $app->functions->intval($tmp['server_id']);
+		}
+		if (!$default_dbserver) {
+			$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE db_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
+			$default_dbserver = $app->functions->intval($tmp['server_id']);
+		}
+		$tmp = $app->getconf->get_global_config('dns');
+		$default_dnsserver = $app->functions->intval($tmp['default_dnsserver']);
+		if (!$default_dnsserver) {
+			$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE dns_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
+			$default_dnsserver = $app->functions->intval($tmp['server_id']);
+		}
 
 		$sql = "UPDATE client SET mail_servers = $default_mailserver, web_servers = $default_webserver, dns_servers = $default_dnsserver, default_slave_dnsserver = $default_dnsserver, db_servers = $default_dbserver WHERE client_id = ".$this->id;
 		$app->db->query($sql);
diff --git a/interface/web/client/client_template_edit.php b/interface/web/client/client_template_edit.php
index bc5c6d22cf3fb77f502901e125b112756d3d89d2..256ff49732350fbd23ef1255659fe28381f5211b 100644
--- a/interface/web/client/client_template_edit.php
+++ b/interface/web/client/client_template_edit.php
@@ -88,10 +88,17 @@ class page_action extends tform_actions {
 		global $app;
 
 		$app->uses('client_templates');
+		if (isset($this->dataRecord["template_type"])) {
+			$template_type = $this->dataRecord["template_type"];
+		} else {
+			$tmp = $app->tform->getDataRecord($this->id);
+			$template_type = $tmp['template_type'];
+		}
+
 		/*
 		 * the template has changed. apply the new data to all clients
 		 */
-		if ($this->dataRecord["template_type"] == 'm'){
+		if ($template_type == 'm'){
 			$sql = "SELECT client_id FROM client WHERE template_master = " . $this->id;
 		} else {
 			$sql = "SELECT client_id FROM client WHERE template_additional LIKE '%/" . $this->id . "/%' OR template_additional LIKE '" . $this->id . "/%' OR template_additional LIKE '%/" . $this->id . "' UNION SELECT client_id FROM client_template_assigned WHERE client_template_id = " . $this->id;
diff --git a/interface/web/client/form/client_template.tform.php b/interface/web/client/form/client_template.tform.php
index dff2dcf4eb88902bb92610b03a8348bbcf62a91d..b1fd7d350f5879365b5d79182843c07450613cad 100644
--- a/interface/web/client/form/client_template.tform.php
+++ b/interface/web/client/form/client_template.tform.php
@@ -115,6 +115,17 @@ $form["tabs"]['limits'] = array (
 			'rows'  => '',
 			'cols'  => ''
 		),
+		'default_mailserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '0',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => array(''),
+			'name'  => 'default_mailserver'
+		),
 		'limit_maildomain' => array (
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
@@ -311,6 +322,17 @@ $form["tabs"]['limits'] = array (
 			'rows'  => '',
 			'cols'  => ''
 		),
+		'default_webserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '0',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => array(''),
+			'name'  => 'default_webserver'
+		),
 		'limit_web_domain' => array (
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
@@ -491,6 +513,17 @@ $form["tabs"]['limits'] = array (
 			'default' => 'y',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
+		'default_dnsserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '0',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => array(''),
+			'name'  => 'default_dnsserver'
+		),
 		'limit_dns_zone' => array (
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
@@ -505,6 +538,17 @@ $form["tabs"]['limits'] = array (
 			'rows'  => '',
 			'cols'  => ''
 		),
+		'default_slave_dnsserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '0',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => array(''),
+			'name'  => 'default_slave_dnsserver'
+		),
 		'limit_dns_slave_zone' => array (
 			'datatype'      => 'INTEGER',
 			'formtype'      => 'TEXT',
@@ -549,6 +593,17 @@ $form["tabs"]['limits'] = array (
 			'cols'		=> ''
 		),
 		*/
+		'default_dbserver' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '0',
+			'datasource' => array (  'type' => 'CUSTOM',
+				'class'=> 'custom_datasource',
+				'function'=> 'client_servers'
+			),
+			'value'  => array(''),
+			'name'  => 'default_dbserver'
+		),
 		'limit_database' => array (
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
diff --git a/interface/web/client/lib/lang/en_client_template.lng b/interface/web/client/lib/lang/en_client_template.lng
index 5d8c3f3b19b8d14cfc13dcd9fecc2656262fe7b8..9aacf40319d5504ba998e4c61f5f95be318f8fcd 100644
--- a/interface/web/client/lib/lang/en_client_template.lng
+++ b/interface/web/client/lib/lang/en_client_template.lng
@@ -2,6 +2,7 @@
 $wb["template_type_txt"] = 'Template type';
 $wb["template_name_txt"] = 'Template name';
 $wb["limit_client_error_notint"] = 'Client Limit is not a number.';
+$wb["default_mailserver_txt"] = 'Default Mailserver';
 $wb["limit_maildomain_txt"] = 'Max. number of email domains';
 $wb["limit_mailbox_txt"] = 'Max. number of mailboxes';
 $wb["limit_mailalias_txt"] = 'Max. number of email aliases';
@@ -23,11 +24,14 @@ $wb["limit_database_txt"] = 'limit_database';
 $wb["limit_cron_txt"] = 'Max. number of cron jobs';
 $wb["limit_cron_type_txt"] = 'Max. type of cron jobs (chrooted and full implies url)';
 $wb["limit_cron_frequency_txt"] = 'Min. delay between executions';
+$wb["default_webserver_txt"] = 'Default Webserver';
 $wb["limit_web_domain_txt"] = 'Max. number of web domains';
 $wb["limit_web_aliasdomain_txt"] = 'Max. number of web aliasdomains';
 $wb["limit_web_subdomain_txt"] = 'Max. number of web subdomains';
 $wb["limit_ftp_user_txt"] = 'Max. number of FTP users';
+$wb["default_dnsserver_txt"] = 'Default DNS Server';
 $wb["limit_dns_zone_txt"] = 'Max. number of DNS zones';
+$wb["default_slave_dnsserver_txt"] = 'Default Secondary DNS Server';
 $wb["limit_dns_slave_zone_txt"] = 'Max. number of secondary DNS zones';
 $wb["limit_dns_record_txt"] = 'Max. number DNS records';
 $wb["limit_shell_user_txt"] = 'Max. number of Shell users';
@@ -57,6 +61,7 @@ $wb["limit_webdav_user_error_notint"] = 'The webdav user limit must be a number.
 $wb["limit_dns_zone_error_notint"] = 'The dns zone limit must be a number.';
 $wb["limit_dns_slave_zone_error_notint"] = 'The dns slave zone limit must be a number.';
 $wb["limit_dns_record_error_notint"] = 'The dns record limit must be a number.';
+$wb["default_dbserver_txt"] = 'Default Database Server';
 $wb["limit_database_txt"] = 'Max. number of Databases';
 $wb["limit_database_error_notint"] = 'The database limit must be a number.';
 $wb["limit_cron_error_notint"] = 'The cron limit must be a number.';
diff --git a/interface/web/client/lib/lang/es_client_template.lng b/interface/web/client/lib/lang/es_client_template.lng
index afde4152c34af52ce0cfec29cfef6b24c537a119..156f2722604f24d22a5b0d2d8d9ce663e2fad425 100644
--- a/interface/web/client/lib/lang/es_client_template.lng
+++ b/interface/web/client/lib/lang/es_client_template.lng
@@ -1,5 +1,6 @@
 <?php
 $wb['limit_client_error_notint'] = 'El límite de subclientes debe ser un número.';
+$wb['default_mailserver_txt'] = 'Servidor de correo por defecto';
 $wb['limit_maildomain_txt'] = 'Número máximo de dominios de correo';
 $wb['limit_mailbox_txt'] = 'Número máximo de buzones de correo';
 $wb['limit_mailalias_txt'] = 'Número máximo de alias de correo';
@@ -17,11 +18,14 @@ $wb['limit_domain_txt'] = 'Número máximo de dominios ';
 $wb['limit_subdomain_txt'] = 'Número máximo de subdominios ';
 $wb['limit_webquota_txt'] = 'Cuota de web';
 $wb['limit_database_txt'] = 'Número máximo de bases de datos';
+$wb['default_webserver_txt'] = 'Servidor web por defecto';
 $wb['limit_web_domain_txt'] = 'Número máximo de sitios web';
 $wb['limit_web_aliasdomain_txt'] = 'Número máximo de alias de dominios';
 $wb['limit_web_subdomain_txt'] = 'Número máximo de subdominios';
 $wb['limit_ftp_user_txt'] = 'Número máximo de usuarios FTP';
+$wb['default_dnsserver_txt'] = 'Servidor DNS por defecto';
 $wb['limit_dns_zone_txt'] = 'Número máximo de zonas DNS';
+$wb['default_slave_dnsserver_txt'] = 'Servidor DNS secundario por defecto';
 $wb['limit_dns_slave_zone_txt'] = 'Número máximo de zonas DNS secundarias';
 $wb['limit_dns_record_txt'] = 'Número máximo de registros DNS';
 $wb['limit_shell_user_txt'] = 'Número máximo de usuarios de consola';
@@ -45,6 +49,7 @@ $wb['limit_shell_user_error_notint'] = 'El límite de usuarios de consola debe s
 $wb['limit_dns_zone_error_notint'] = 'El límite de registros DNS debe ser un número.';
 $wb['limit_dns_slave_zone_error_notint'] = 'El límite de zonas DNS secundarias debe ser un número.';
 $wb['limit_dns_record_error_notint'] = 'El límite de registros DNS debe ser un número.';
+$wb['default_dbserver_txt'] = 'Servidor de bases de datos por defecto';
 $wb['limit_database_error_notint'] = 'El límite de bases de datos debe ser un número.';
 $wb['error_template_name_empty'] = 'Por favor, introduzca un nombre de plantilla';
 $wb['limit_cron_txt'] = 'Número máximo de tareas cron';
diff --git a/interface/web/client/templates/client_template_edit_limits.htm b/interface/web/client/templates/client_template_edit_limits.htm
index dc83c6eef1bf170d4ceec4c87ced9d1f095de4a3..71ab963f3e463e42fd99e25758ffd5f724fbb663 100644
--- a/interface/web/client/templates/client_template_edit_limits.htm
+++ b/interface/web/client/templates/client_template_edit_limits.htm
@@ -7,6 +7,12 @@
         <fieldset class="inlineLabels"><legend>Limits</legend>
 			<div class="subsectiontoggle"><span class="showing"></span>{tmpl_var name='web_limits_txt'}<em class="showing"></em></div>
             <div>
+                <div class="ctrlHolder">
+                    <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label>
+                    <select name="default_webserver" id="default_webserver" class="selectInput">
+                        {tmpl_var name='default_webserver'}
+                    </select>
+                </div>
                 <div class="ctrlHolder">
                     <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label>
                     <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
@@ -114,6 +120,12 @@
             </div>
             <div class="subsectiontoggle"><span></span>{tmpl_var name='email_limits_txt'}<em></em></div>
             <div style="display:none;">
+                <div class="ctrlHolder">
+                    <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label>
+                    <select name="default_mailserver" id="default_mailserver" class="selectInput">
+                        {tmpl_var name='default_mailserver'}
+                    </select>
+                </div>
                 <div class="ctrlHolder">
                     <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label>
                     <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
@@ -173,6 +185,12 @@
             </div>
             <div class="subsectiontoggle"><span></span>{tmpl_var name='database_limits_txt'}<em></em></div>
             <div style="display:none;">
+                <div class="ctrlHolder">
+                    <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label>
+                    <select name="default_dbserver" id="default_dbserver" class="selectInput">
+                        {tmpl_var name='default_dbserver'}
+                    </select>
+                </div>
                 <div class="ctrlHolder">
                     <label for="limit_database">{tmpl_var name='limit_database_txt'}</label>
                     <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
@@ -201,9 +219,21 @@
             </div>
             <div class="subsectiontoggle"><span></span>{tmpl_var name='dns_limits_txt'}<em></em></div>
             <div style="display:none;">
+                <div class="ctrlHolder">
+                    <label for="default_dnsserver">{tmpl_var name='default_dnsserver_txt'}</label>
+                    <select name="default_dnsserver" id="default_dnsserver" class="selectInput">
+                        {tmpl_var name='default_dnsserver'}
+                    </select>
+                </div>
                 <div class="ctrlHolder">
                     <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
                     <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
+                </div>
+				<div class="ctrlHolder">
+                    <label for="default_slave_dnsserver">{tmpl_var name='default_slave_dnsserver_txt'}</label>
+                    <select name="default_slave_dnsserver" id="default_slave_dnsserver" class="selectInput">
+                        {tmpl_var name='default_slave_dnsserver'}
+                    </select>
                 </div>
                 <div class="ctrlHolder">
                     <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
diff --git a/interface/web/dns/dns_import.php b/interface/web/dns/dns_import.php
index a391c2e594684f92d90cc48d25e4b70e979b4eb2..5598b5664b8fe99e132291f65170c77c16c71919 100644
--- a/interface/web/dns/dns_import.php
+++ b/interface/web/dns/dns_import.php
@@ -56,7 +56,8 @@ if (isset($_POST['server_id'])) {
 	$server_id = $app->functions->intval($_POST['server_id_value']);
 	$post_server_id = true;
 } else {
-	$server_id = 1;
+	$settings = $app->getconf->get_global_config('dns');
+	$server_id = $app->functions->intval($settings['default_dnsserver']);
 	$post_server_id = false;
 }
 
diff --git a/interface/web/dns/dns_slave_edit.php b/interface/web/dns/dns_slave_edit.php
index eb25f2245ceb5e6e91453c42a7fc48d0d158a6cb..683d2cdfde4ce642c6e43acb24b584ee54136223 100644
--- a/interface/web/dns/dns_slave_edit.php
+++ b/interface/web/dns/dns_slave_edit.php
@@ -61,6 +61,9 @@ class page_action extends tform_actions {
 			if(!$app->tform->checkResellerLimit('limit_dns_slave_zone')) {
 				$app->error('Reseller: '.$app->tform->wordbook["limit_dns_slave_zone_txt"]);
 			}
+		} else {
+			$settings = $app->getconf->get_global_config('dns');
+			$app->tform->formDef['tabs']['dns_slave']['fields']['server_id']['default'] = intval($settings['default_slave_dnsserver']);
 		}
 
 		parent::onShowNew();
diff --git a/interface/web/dns/dns_soa_edit.php b/interface/web/dns/dns_soa_edit.php
index 2fcb9f9f8d376a7fdffbe2dcfad9615882faf865..2131bfbc969849d938fab6ef9a2dab4c173cd36e 100644
--- a/interface/web/dns/dns_soa_edit.php
+++ b/interface/web/dns/dns_soa_edit.php
@@ -71,6 +71,9 @@ class page_action extends tform_actions {
 			if(!$app->tform->checkResellerLimit('limit_dns_zone')) {
 				$app->error('Reseller: '.$app->tform->wordbook["limit_dns_zone_txt"]);
 			}
+		} else {
+			$settings = $app->getconf->get_global_config('dns');
+			$app->tform->formDef['tabs']['dns_soa']['fields']['server_id']['default'] = intval($settings['default_dnsserver']);
 		}
 
 		parent::onShowNew();
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index 6b8de3eb7bcfdcbce3c6262d2af1cc29de3ddd2a..26b01117e6abb6e5a498c01f190e15251770807d 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -53,7 +53,8 @@ if (isset($_POST['server_id'])) {
 	$server_id = $app->functions->intval($_POST['server_id_value']);
 	$post_server_id = true;
 } else {
-	$server_id = 1;
+	$settings = $app->getconf->get_global_config('dns');
+	$server_id = $app->functions->intval($settings['default_dnsserver']);
 	$post_server_id = false;
 }
 
diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php
index 6f48c7f29fd402e84523ebf5be13dd75fe7e6f74..4fba557143b7fc45075885d6f28a446672ea7897 100644
--- a/interface/web/mail/mail_domain_edit.php
+++ b/interface/web/mail/mail_domain_edit.php
@@ -61,6 +61,9 @@ class page_action extends tform_actions {
 			if(!$app->tform->checkResellerLimit('limit_maildomain')) {
 				$app->error('Reseller: '.$app->tform->wordbook["limit_maildomain_txt"]);
 			}
+		} else {
+			$settings = $app->getconf->get_global_config('mail');
+			$app->tform->formDef['tabs']['domain']['fields']['server_id']['default'] = intval($settings['default_mailserver']);
 		}
 
 		parent::onShowNew();
diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php
index 58cb0a623c5c6ec0fa5238b3adea1f684c8e3159..79183c4612c26c8b4049ce187f0be53868e96dfd 100644
--- a/interface/web/sites/database_edit.php
+++ b/interface/web/sites/database_edit.php
@@ -61,6 +61,9 @@ class page_action extends tform_actions {
 			if(!$app->tform->checkResellerLimit('limit_database')) {
 				$app->error('Reseller: '.$app->tform->wordbook["limit_database_txt"]);
 			}
+		} else {
+			$settings = $app->getconf->get_global_config('sites');
+			$app->tform->formDef['tabs']['database']['fields']['server_id']['default'] = intval($settings['default_dbserver']);
 		}
 
 		parent::onShowNew();
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index 00b498568fcf6a16d7177ebfa43d56066d1ff12e..a33c1241ace6fecc8b65504f2c5155491c2a0282 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -115,6 +115,9 @@ class page_action extends tform_actions {
 			$web_servers = explode(',', $client['web_servers']);
 			$app->tpl->setVar("server_id_value", $web_servers[0]);
 			unset($web_servers);
+		} else {
+			$settings = $app->getconf->get_global_config('sites');
+			$app->tform->formDef['tabs']['domain']['fields']['server_id']['default'] = intval($settings['default_webserver']);
 		}
 		$app->tform->formDef['tabs']['domain']['readonly'] = false;