diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index 2853a5db74192c42a665248ac5971a00e6a43ba7..971b0e71cb8fc51cefb62dad14018931b4c8023c 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -41,4 +41,10 @@ $wb["domain_error_unique"] = 'Domain must be unique.';
 $wb["domain_error_regex"] = 'Domain name invalid.';
 $wb["hd_quota_error_empty"] = 'Harddisk quota is empty.';
 $wb["traffic_quota_error_empty"] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+
 ?>
\ No newline at end of file
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 0a39a2597a399a850c6119cce7f5783a25856835..0c9fec1f12d0b0a5fb2a8aa140c99e3b2dd8be57 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -75,6 +75,7 @@ class page_action extends tform_actions {
 	function onShowEnd() {
 		global $app, $conf;
 		
+		// If the logged in user is not admin and has no sub clients (no rseller)
 		if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
 		
 			// Get the limits of the client
@@ -89,7 +90,8 @@ class page_action extends tform_actions {
 			// Fill the IP select field with the IP addresses that are allowed for this client
 			$ip_select = "<option value='*'>*</option>";
 			$app->tpl->setVar("ip_address",$ip_select);
-			
+		
+		// If the logged in user is not admin and has sub clients (is a rseller)
 		} elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
 			
 			// Get the limits of the client
@@ -116,12 +118,13 @@ class page_action extends tform_actions {
 			// Fill the IP select field with the IP addresses that are allowed for this client
 			$ip_select = "<option value='*'>*</option>";
 			$app->tpl->setVar("ip_address",$ip_select);
-			
+		
+		// If the logged in user is admin
 		} else {
 			
 			// The user is admin, so we fill in all IP addresses of the server
 			if($this->id > 0) {
-				$server_id = $this->dataRecord["server_id"];
+				$server_id = @$this->dataRecord["server_id"];
 			} else {
 				// Get the first server ID
 				$tmp = $app->db->queryOneRecord("SELECT server_id FROM server WHERE web_server = 1 ORDER BY server_name LIMIT 0,1");
@@ -242,6 +245,22 @@ class page_action extends tform_actions {
 		$app->db->query($sql);
 	}
 	
+	function onBeforeUpdate () {
+		global $app, $conf;
+		
+		//* Check that all fields for the SSL cert creation are filled
+		if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'create') {
+			if($this->dataRecord['ssl_state'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_state_empty').'<br />';
+			if($this->dataRecord['ssl_locality'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_locality_empty').'<br />';
+			if($this->dataRecord['ssl_organisation'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_empty').'<br />';
+			if($this->dataRecord['ssl_organisation_unit'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_unit_empty').'<br />';
+			if($this->dataRecord['ssl_country'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_country_empty').'<br />';
+		}
+		
+	}
+	
+	
+	
 	function onAfterUpdate() {
 		global $app, $conf;