diff --git a/interface/lib/lang/ar.lng b/interface/lib/lang/ar.lng
index f8fd2b5a500479b4dff5741a0ded9410f648db78..5ea8fd6e5f85e8a888ae1e5d4714b1976dac7da7 100644
--- a/interface/lib/lang/ar.lng
+++ b/interface/lib/lang/ar.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Unlimited';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/bg.lng b/interface/lib/lang/bg.lng
index 049807e66da3712e215a7b6f62734ebaecdef900..f177549efc6459fdbfd62bdbad75ea74ef35b1ff 100644
--- a/interface/lib/lang/bg.lng
+++ b/interface/lib/lang/bg.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Неограничен';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/br.lng b/interface/lib/lang/br.lng
index 3bab13ab3a40eb40f83e06798bf32d1332f9ffce..1e8b2f0fc637446ecb23bd240f45a9f430072dba 100644
--- a/interface/lib/lang/br.lng
+++ b/interface/lib/lang/br.lng
@@ -159,4 +159,5 @@ $wb['security_check2_txt'] = 'falhou.';
 $wb['select_directive_snippet_txt'] = 'Diretiva de trechos de código';
 $wb['select_master_directive_snippet_txt'] = 'Diretiva mestre de trechos de código';
 $wb['unlimited_txt'] = 'Ilimitado';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/ca.lng b/interface/lib/lang/ca.lng
index 6d48482cfc5f5c97825505de23a7fb80abd07aea..d5bd21c774932e3209620d129365ee3a97910a16 100644
--- a/interface/lib/lang/ca.lng
+++ b/interface/lib/lang/ca.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Illimité';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/cz.lng b/interface/lib/lang/cz.lng
index 93eeb671e5ffc32a0f9e19d647f42cbfcf569ece..c104b198135f3d361ae6d547b3eb95b82d413c30 100644
--- a/interface/lib/lang/cz.lng
+++ b/interface/lib/lang/cz.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Vytvořit XMPP uživatele';
 $wb['datalog_status_u_xmpp_user'] = 'Aktualizovat XMPP uživatele';
 $wb['datalog_status_d_xmpp_user'] = 'Smazat XMPP uživatele';
 $wb['unlimited_txt'] = 'neomezeno';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng
index 54091c14170786b83b4d68c79b801d3dff280c56..6a4c09be7954dc08c0fa5bdfbf03f7dd3bb89534 100644
--- a/interface/lib/lang/de.lng
+++ b/interface/lib/lang/de.lng
@@ -159,4 +159,5 @@ $wb['security_check2_txt'] = 'fehlgeschlagen.';
 $wb['select_directive_snippet_txt'] = 'Direktiven Schnipsel';
 $wb['select_master_directive_snippet_txt'] = 'Master Direktiven Schnipsel';
 $wb['unlimited_txt'] = 'unlimitiert';
-?>
+$wb['server_id_0_error_txt'] = 'Bitte Server auswählen. Server ID muss > als 0 sein.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/dk.lng b/interface/lib/lang/dk.lng
index cbb9fc5efdc46db92761845cca3164f8224c08c1..73aaba6b398132ca3abbfe9507fd7e7d50e2e7be 100644
--- a/interface/lib/lang/dk.lng
+++ b/interface/lib/lang/dk.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Ubegrænset';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng
index 3e6c60c90f451a81acfed2b2e904c3df6074d422..788d313066f048cd99071d940fb0d551ff2ef7f6 100644
--- a/interface/lib/lang/el.lng
+++ b/interface/lib/lang/el.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Απεριόριστα';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/en.lng b/interface/lib/lang/en.lng
index b5b2ebcdae470767a4fe90494fca53fe974236e6..d69a4b2f562064bf079cecc8de9143cd1ac60e51 100644
--- a/interface/lib/lang/en.lng
+++ b/interface/lib/lang/en.lng
@@ -160,4 +160,5 @@ $wb['security_check2_txt'] = 'failed.';
 $wb['select_directive_snippet_txt'] = 'Directive Snippets';
 $wb['select_master_directive_snippet_txt'] = 'Master Directive Snippets';
 $wb['unlimited_txt'] = "Unlimited";
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/es.lng b/interface/lib/lang/es.lng
index b78499f80022dc44300273382d58c10dd86ae090..75ee5ee74b57bfd515337576a02d7dda1239500a 100644
--- a/interface/lib/lang/es.lng
+++ b/interface/lib/lang/es.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Ilimitado';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/fi.lng b/interface/lib/lang/fi.lng
index 27749510bb0096803b629935fec60b6e23afcd3c..1effd44b2742ccf2588425d97e2616a6cc8cb8b2 100644
--- a/interface/lib/lang/fi.lng
+++ b/interface/lib/lang/fi.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Unlimited';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/fr.lng b/interface/lib/lang/fr.lng
index c302b32faa302e897af10b0aae59e993fbc0af48..285fecd2ba745af2ae95104495e829a1e5bdc821 100644
--- a/interface/lib/lang/fr.lng
+++ b/interface/lib/lang/fr.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Illimité';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/hr.lng b/interface/lib/lang/hr.lng
index 3be5dc7e16ea3dfbdc161ac8d1196ccb368f87c3..ddcb8ddd6340d316890bf13d8c132a65b27e4875 100644
--- a/interface/lib/lang/hr.lng
+++ b/interface/lib/lang/hr.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'neograničeno';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/hu.lng b/interface/lib/lang/hu.lng
index 3fc91bd60095011e8d867cc26b0a963c0e847ce4..f95edfd13e72e510959fcc3129c069c7d0899bb3 100644
--- a/interface/lib/lang/hu.lng
+++ b/interface/lib/lang/hu.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Korlátlan';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/id.lng b/interface/lib/lang/id.lng
index 13fbff1a0800e7484f367858a26b809409f96916..a6f7d421a5dd344477f165fce5641c9e2bb872b2 100644
--- a/interface/lib/lang/id.lng
+++ b/interface/lib/lang/id.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Tak terbatas';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/it.lng b/interface/lib/lang/it.lng
index 4a85a58e09266d2db52c2aaeff90667b9db77ef3..50bac60c46ef26ab3072a8de68c4e5bed7d928e1 100644
--- a/interface/lib/lang/it.lng
+++ b/interface/lib/lang/it.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'illimitati';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/ja.lng b/interface/lib/lang/ja.lng
index bb1290173c6a83bbcbceba6c2ff00f23442b99b5..33afdb44debe19142f5075c341919d72e9266ca1 100644
--- a/interface/lib/lang/ja.lng
+++ b/interface/lib/lang/ja.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Unlimited';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/nl.lng b/interface/lib/lang/nl.lng
index a733142d49100c3b025c69ce20b387f00c74ecb9..3ddac641ad7d9d9c918bd391ffcefd213b92fd54 100644
--- a/interface/lib/lang/nl.lng
+++ b/interface/lib/lang/nl.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Ongelimiteerd';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/pl.lng b/interface/lib/lang/pl.lng
index ffbac09ef4008cf2bbbd0a0456a99ff758d6a9c5..113298659a6043b79eac01cc8734ca26775ee8c2 100644
--- a/interface/lib/lang/pl.lng
+++ b/interface/lib/lang/pl.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'nielimitowane';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/pt.lng b/interface/lib/lang/pt.lng
index 195da8e61926311839005a8b7bf6be3ad1bd319c..5b510ad3f13b4e81ed06486bc20b87843534332b 100644
--- a/interface/lib/lang/pt.lng
+++ b/interface/lib/lang/pt.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Unlimited';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/ro.lng b/interface/lib/lang/ro.lng
index 1365a54172f3098dc1e8d5eba983730a46bc8c02..755ee1ba0b82044522c5f564d3d0e0ed6bf9cef6 100644
--- a/interface/lib/lang/ro.lng
+++ b/interface/lib/lang/ro.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Unlimited';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/ru.lng b/interface/lib/lang/ru.lng
index 19cdcf8a047170d3f36b310801ae3a1ffcd40318..67111326c79896dac26e754d1589a6348d5069cd 100644
--- a/interface/lib/lang/ru.lng
+++ b/interface/lib/lang/ru.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Создать пользователя XMP
 $wb['datalog_status_u_xmpp_user'] = 'Обновить пользователя XMPP';
 $wb['datalog_status_d_xmpp_user'] = 'Удалить пользователя XMPP';
 $wb['unlimited_txt'] = 'Безлимитный';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng
index 2d3146f03389ae3acae8fd72c36a1f5c1c89b386..aa59af310930429661f4b78265b1c765a48bb81a 100644
--- a/interface/lib/lang/se.lng
+++ b/interface/lib/lang/se.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Obegränsat';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/sk.lng b/interface/lib/lang/sk.lng
index ece15b3a22865520884ac048cd12e0ba679504aa..afb9c0ac05234cfacd792df9e88f6b87358ae714 100644
--- a/interface/lib/lang/sk.lng
+++ b/interface/lib/lang/sk.lng
@@ -159,4 +159,5 @@ $wb['datalog_status_i_xmpp_user'] = 'Create XMPP user';
 $wb['datalog_status_u_xmpp_user'] = 'Update XMPP user';
 $wb['datalog_status_d_xmpp_user'] = 'Delete XMPP user';
 $wb['unlimited_txt'] = 'Unlimited';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/tr.lng b/interface/lib/lang/tr.lng
index 31e5f2fbef4e7c47d45321d8bcc3cd08c1701cee..9b182f7eb897d024a82772ee4464cb9f53ab62ad 100644
--- a/interface/lib/lang/tr.lng
+++ b/interface/lib/lang/tr.lng
@@ -160,4 +160,5 @@ $wb['security_check2_txt'] = 'başarısız.';
 $wb['select_directive_snippet_txt'] = 'Yönerge Kod Parçaları';
 $wb['select_master_directive_snippet_txt'] = 'Ana Komut Parçaları';
 $wb['unlimited_txt'] = 'Sınırsız';
-?>
+$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.';
+?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_soa_edit.php b/interface/web/dns/dns_soa_edit.php
index ec5ba67c79de4e675647ab21ea1ba1b823118ce2..aa844d4e8e2c6f81962a9d165f6f70f33f7baa8f 100644
--- a/interface/web/dns/dns_soa_edit.php
+++ b/interface/web/dns/dns_soa_edit.php
@@ -302,6 +302,9 @@ function onSubmit() {
 		if($tmp["number"] > 0) {
 			$app->error($app->tform->wordbook["origin_error_unique"]);
 		}
+		
+		//* server_id must be > 0
+		if(isset($this->dataRecord["server_id"]) && $this->dataRecord["server_id"] < 1) $app->tform->errorMessage .= $app->lng("server_id_0_error_txt");
 	}
 	parent::onSubmit();
 }
diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php
index 19aa4f91e61b5600904b40c88118dad8f5287f73..77e15b68fc59a0f76ea69afad73de830ff6543c0 100644
--- a/interface/web/mail/mail_domain_edit.php
+++ b/interface/web/mail/mail_domain_edit.php
@@ -283,7 +283,9 @@ class page_action extends tform_actions {
 			$this->dataRecord["domain"] = $app->functions->idn_encode($this->dataRecord["domain"]);
 			$this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
 		}
-
+		
+		//* server_id must be > 0
+		if(isset($this->dataRecord["server_id"]) && $this->dataRecord["server_id"] < 1) $app->tform->errorMessage .= $app->lng("server_id_0_error_txt");
 
 		parent::onSubmit();
 	}
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index cc476a2276f8c87206859aa9bdb4717e30be4df6..b51996a416c0c5be8a553bbcad966bdcb1649908 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -1188,6 +1188,9 @@ class page_action extends tform_actions {
 
 		//* make sure that the domain is lowercase
 		if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
+		
+		//* server_id must be > 0
+		if(isset($this->dataRecord["server_id"]) && $this->dataRecord["server_id"] < 1) $app->tform->errorMessage .= $app->lng("server_id_0_error_txt");
 
 		//* get the server config for this server
 		$app->uses("getconf");