diff -dNura trunk~/add_zone_slave.php trunk/add_zone_slave.php
--- trunk~/add_zone_slave.php	2009-05-19 07:27:56.000000000 +0000
+++ trunk/add_zone_slave.php	2009-05-19 16:48:14.000000000 +0000
@@ -38,18 +38,27 @@
 (verify_permission('user_view_others')) ? $perm_view_others = "1" : $perm_view_others = "0" ; 
 
 if ($_POST['submit'] && $zone_slave_add == "1") {
+	$zone_slave_valid = true;
 	if (!is_valid_hostname_fqdn($zone,0)) {
 		error(ERR_DNS_HOSTNAME);
+		$zone_slave_valid = false;
 	} elseif (domain_exists($zone)) {
 		error(ERR_DOMAIN_EXISTS);
-	} elseif (!is_valid_ipv4($master) && !is_valid_ipv6($master)) {
-		error(ERR_DNS_IP);
+		$zone_slave_valid = false;
 	} else {
-		if(add_domain($zone, $owner, $webip, $mailip, $empty, $type, $master)) {
-			success("<a href=\"edit.php?id=" . get_zone_id_from_name($zone) . "\">".SUC_ZONE_ADD.'</a>');
-			unset($zone, $owner, $webip, $mailip, $empty, $type, $master);
+		$ip_masters = explode(',', $master);
+		foreach ($ip_masters as $ip_master) {
+			if (!is_valid_ipv4($ip_master) && !is_valid_ipv6($ip_master)) {
+				error(ERR_DNS_IP);
+				$zone_slave_valid = false;
+				break;
+			}
 		}
 	}
+	if($zone_slave_valid && add_domain($zone, $owner, $webip, $mailip, $empty, $type, $master)) {
+		success("<a href=\"edit.php?id=" . get_zone_id_from_name($zone) . "\">".SUC_ZONE_ADD.'</a>');
+		unset($zone, $owner, $webip, $mailip, $empty, $type, $master);
+	}
 }
 
 if ( $zone_slave_add != "1" ) {
@@ -67,9 +76,9 @@
 	echo "        </td>\n";
 	echo "       </tr>\n";
 	echo "       <tr>\n";
-	echo "        <td class=\"n\">" . _('IP address of master NS') . ":</td>\n";
+	echo "        <td class=\"n\">" . _('IP address of master NS') . " (" . _('Multiple masters separated by commas'). "):</td>\n";
 	echo "        <td class=\"n\">\n";
-	echo "         <input type=\"text\" class=\"input\" name=\"slave_master\" value=\"" . $master . "\">\n";
+	echo "         <input type=\"text\" class=\"wide\" name=\"slave_master\" value=\"" . $master . "\">\n";
 	echo "        </td>\n";
 	echo "       </tr>\n";
 	echo "       <tr>\n";
diff -dNura trunk~/delete_domain.php trunk/delete_domain.php
--- trunk~/delete_domain.php	2009-05-19 07:27:56.000000000 +0000
+++ trunk/delete_domain.php	2009-05-19 16:54:45.000000000 +0000
@@ -57,11 +57,13 @@
 		echo "      " . _('Owner') . ": " . $zone_owners . "<br>\n";
 		echo "      " . _('Type') . ": " . $zone_info['type'] . "\n";
 		if ( $zone_info['type'] == "SLAVE" ) {
-			$slave_master = get_domain_slave_master($zone_id);
-			if(supermaster_exists($slave_master)) {
-				echo "        <p>         \n";
-				printf (_('You are about to delete a slave zone of which the master nameserver, %s, is a supermaster. Deleting the zone now, will result in temporary removal only. Whenever the supermaster sends a notification for this zone, it will be added again!'), $slave_master);
-				echo "        </p>\n";
+			$slave_masters = explode(',', get_domain_slave_master($zone_id));
+			foreach ($slave_masters as $slave_master) {
+				if(supermaster_exists($slave_master)) {
+					echo "        <p>         \n";
+					printf (_('You are about to delete a slave zone of which the master nameserver, %s, is a supermaster. Deleting the zone now, will result in temporary removal only. Whenever the supermaster sends a notification for this zone, it will be added again!'), $slave_master);
+					echo "        </p>\n";
+				}
 			}
 		}
 		echo "     <p>" . _('Are you sure?') . "</p>\n";
diff -dNura trunk~/edit.php trunk/edit.php
--- trunk~/edit.php	2009-05-19 07:27:56.000000000 +0000
+++ trunk/edit.php	2009-05-19 16:22:08.000000000 +0000
@@ -260,7 +260,7 @@
 		if ($domain_type == "SLAVE" ) { 
 			$slave_master=get_domain_slave_master($zone_id);
 			echo "      <tr>\n";
-			echo "       <th colspan=\"2\">" . _('IP address of master NS') . "</th>\n";
+			echo "       <th colspan=\"2\">" . _('IP address of master NS') . " (" . _('Multiple masters separated by commas'). ")</th>\n";
 			echo "      </tr>\n";
 
 			if ($meta_edit) {
@@ -268,7 +268,7 @@
 				echo "       <input type=\"hidden\" name=\"domain\" value=\"" . $zone_id . "\">\n";
 				echo "       <tr>\n";
 				echo "        <td>\n";
-				echo "         <input type=\"text\" name=\"new_master\" value=\"" . $slave_master . "\" class=\"input\">\n";
+				echo "         <input type=\"text\" name=\"new_master\" value=\"" . $slave_master . "\" class=\"wide\">\n";
 				echo "        </td>\n";
 				echo "        <td>\n";
 				echo "         <input type=\"submit\" class=\"sbutton\" name=\"slave_master_change\" value=\"" . _('Change') . "\">\n";
diff -dNura trunk~/inc/record.inc.php trunk/inc/record.inc.php
--- trunk~/inc/record.inc.php	2009-05-19 08:13:01.000000000 +0000
+++ trunk/inc/record.inc.php	2009-05-19 16:28:39.000000000 +0000
@@ -1062,13 +1062,20 @@
         }
 }
 
-function change_zone_slave_master($zone_id, $ip_slave_master) {
+function change_zone_slave_master($zone_id, $slave_masters) {
 	global $db;
         if (is_numeric($zone_id)) {
-       		if (is_valid_ipv4($ip_slave_master) || is_valid_ipv6($ip_slave_master)) {
-			$result = $db->query("UPDATE domains SET master = " .$db->quote($ip_slave_master, 'text'). " WHERE id = ".$db->quote($zone_id, 'integer'));
-		} else {
-			error(sprintf(ERR_INV_ARGC, "change_domain_ip_slave_master", "This is not a valid IPv4 or IPv6 address: $ip_slave_master"));
+		$ip_slave_masters = explode(',', $slave_masters);
+		$ip_slave_masters_valid = true;
+		foreach ($ip_slave_masters as $ip_slave_master) {
+			if (!is_valid_ipv4($ip_slave_master) && !is_valid_ipv6($ip_slave_master)) {
+				error(sprintf(ERR_INV_ARGC, "change_domain_ip_slave_master", "This is not a valid IPv4 or IPv6 address: $ip_slave_master"));
+				$ip_slave_masters_valid = false;
+				break;
+			}
+		}
+		if ($ip_slave_masters_valid) {
+			$result = $db->query("UPDATE domains SET master = " .$db->quote($slave_masters, 'text'). " WHERE id = ".$db->quote($zone_id, 'integer'));
 		}
 	} else {
                 error(sprintf(ERR_INV_ARG, "change_domain_type", "no or no valid zoneid given"));
diff -dNura trunk~/locale/en_EN/LC_MESSAGES/en.po trunk/locale/en_EN/LC_MESSAGES/en.po
--- trunk~/locale/en_EN/LC_MESSAGES/en.po	2009-05-19 07:27:56.000000000 +0000
+++ trunk/locale/en_EN/LC_MESSAGES/en.po	2009-05-19 16:57:49.000000000 +0000
@@ -159,6 +159,10 @@
 msgid "IP address of master NS"
 msgstr ""
 
+#: add_zone_slave.php:66 edit.php:229
+msgid "Multiple masters separated by commas"
+msgstr ""
+
 #: change_password.php:29 change_password.php:47 index.php:56
 #: inc/header.inc.php:68
 msgid "Change password"
