diff --git a/etc/rc.filter_synchronize b/etc/rc.filter_synchronize
index a17e50e..3d2a395 100755
--- a/etc/rc.filter_synchronize
+++ b/etc/rc.filter_synchronize
@@ -59,7 +59,7 @@ function backup_vip_config_section() {
 		    (strpos($section['interface'], '_vip') === FALSE) &&
 		    (strpos($section['interface'], 'lo0') === FALSE))
 			continue;
-		if ($section['advskew'] <> "") {
+		if (($section['advskew'] <> "") && ($section['dontadvskew'] <> "ignore")) {
 			$section_val = intval($section['advskew']);
 			$section_val=$section_val+100;
 			if ($section_val > 254)
diff --git a/usr/local/www/firewall_virtual_ip_edit.php b/usr/local/www/firewall_virtual_ip_edit.php
index af28d9d..9046c00 100644
--- a/usr/local/www/firewall_virtual_ip_edit.php
+++ b/usr/local/www/firewall_virtual_ip_edit.php
@@ -86,6 +86,7 @@ if (isset($id) && $a_vip[$id]) {
 	$pconfig['mode'] = $a_vip[$id]['mode'];
 	$pconfig['vhid'] = $a_vip[$id]['vhid'];
 	$pconfig['advskew'] = $a_vip[$id]['advskew'];
+	$pconfig['dontadvskew'] = $a_vip[$id]['dontadvskew'];
 	$pconfig['advbase'] = $a_vip[$id]['advbase'];
 	$pconfig['password'] = $a_vip[$id]['password'];
 	$pconfig['range'] = $a_vip[$id]['range'];
@@ -244,6 +245,7 @@ if ($_POST) {
 			$vipent['vhid'] = $_POST['vhid'];
 			$vipent['vhid'] = $_POST['uinqid'];
 			$vipent['advskew'] = $_POST['advskew'];
+			$vipent['dontadvskew'] = $_POST['dontadvskew'];
 			$vipent['advbase'] = $_POST['advbase'];
 			$vipent['password'] = $_POST['password'];
 		}
@@ -325,6 +327,7 @@ function enable_change() {
 	document.iform.password.disabled = $mode != "carp";
 	document.iform.vhid.disabled     = $mode != "carp";
 	document.iform.advskew.disabled  = $mode != "carp";
+	document.iform.dontadvskew.disabled  = $mode != "carp";
 	document.iform.advbase.disabled  = $mode != "carp";
 	document.iform.type.disabled     = $mode in {"carp":1,"ipalias":1};
 	
@@ -496,6 +499,7 @@ function typesel_change() {
                       			</option>
                             <?php endfor; ?>
                       		</select>
+				Disable sync skew: <input type="checkbox" id='dontadvskew' name='dontadvskew' value="ignore"> <i id="typenote"><?=gettext("Do not disable unless you know what you are doing?");?></i>
 				<br /><br />
 				<?=gettext("The frequency that this machine will advertise.  0 means usually master. Otherwise the lowest combination of both values in the cluster determines the master.");?>
 				  </td>
diff --git a/usr/local/www/widgets/widgets/carp_status.widget.php b/usr/local/www/widgets/widgets/carp_status.widget.php
index 8d2e5ed..2fc4bc5 100644
--- a/usr/local/www/widgets/widgets/carp_status.widget.php
+++ b/usr/local/www/widgets/widgets/carp_status.widget.php
@@ -52,6 +52,7 @@ $carp_enabled = get_carp_status();
 			$netmask = $carp['subnet_bits'];
 			$vhid = $carp['vhid'];
 			$advskew = $carp['advskew'];
+			$dontadvskew = $carp['dontadvskew'];
 			$status = get_carp_interface_status("_vip{$carp['uniqid']}");
 ?>
 <tr>
diff --git a/usr/local/www/xmlrpc.php b/usr/local/www/xmlrpc.php
index 49fad44..540c7d6 100755
--- a/usr/local/www/xmlrpc.php
+++ b/usr/local/www/xmlrpc.php
@@ -212,7 +212,7 @@ function restore_config_section_xmlrpc($raw_params) {
 		if (is_array($config['virtualip']['vip'])) {
 			foreach ($config['virtualip']['vip'] as $vipindex => $vip) {
 				if ($vip['mode'] == "carp")
-					$oldvips["{$vip['interface']}_vip{$vip['vhid']}"] = "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}";
+					$oldvips["{$vip['interface']}_vip{$vip['vhid']}"] = "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}{$vip['dontadvskew']}";
 				else if ($vip['mode'] == "ipalias" && (substr($vip['interface'], 0, 4) == '_vip') || strpos($vip['interface'], "lo0")))
 					$oldvips[$vip['subnet']] = "{$vip['interface']}{$vip['subnet']}{$vip['subnet_bits']}";
 				else if (($vip['mode'] == "ipalias" || $vip['mode'] == 'proxyarp') && !(substr($vip['interface'], 0, 4) == '_vip') || strpos($vip['interface'], "lo0")))
@@ -247,7 +247,7 @@ function restore_config_section_xmlrpc($raw_params) {
 		$anyproxyarp = false;
 		foreach ($config['virtualip']['vip'] as $vip) {
 			if ($vip['mode'] == "carp" && isset($oldvips["{$vip['interface']}_vip{$vip['vhid']}"])) {
-				if ($oldvips["{$vip['interface']}_vip{$vip['vhid']}"] == "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}") {
+				if ($oldvips["{$vip['interface']}_vip{$vip['vhid']}"] == "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}{$vip['dontadvskew']}") {
 					if (does_vip_exist($vip)) {
 						unset($oldvips["{$vip['interface']}_vip{$vip['vhid']}"]);
 						continue; // Skip reconfiguring this vips since nothing has changed.
