diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index 83295688e077cdad00dfc416b3008cb55e8379db..c6308ae24426d51ef9c9d7f481f646c37049bffe 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -6255,69 +6255,23 @@ function link_interface_to_track6($int, $action = "") {
 function interface_find_child_cfgmtu($realiface) {
 	global $config;
 
-	$interface = convert_real_interface_to_friendly_interface_name($realiface);
 	$vlans = link_interface_to_vlans($realiface);
 	$qinqs = link_interface_to_qinqs($realiface);
 	$bridge = link_interface_to_bridge($realiface);
-	$gifs = link_interface_to_tunnelif($interface, 'gif');
-	$gres = link_interface_to_tunnelif($interface, 'gre');
 
 	$mtu = 0;
-	if (is_array($vlans)) {
-		foreach ($vlans as $vlan) {
-			$ifass = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
-			if (empty($ifass)) {
-				continue;
-			}
-			if (!empty($config['interfaces'][$ifass]['mtu'])) {
-				if (intval($config['interfaces'][$ifass]['mtu']) > $mtu) {
+	foreach (array($vlans, $qinqs, array('bridge' => $bridge)) as $ints) {
+		if (is_array($ints)) {
+			foreach ($ints as $int) {
+				$ifass = convert_real_interface_to_friendly_interface_name($int['vlanif']);
+				if (empty($ifass) && isset($config['interfaces'][$ifass]['enable']) &&
+				    !empty($config['interfaces'][$ifass]['mtu']) &&
+				    (intval($config['interfaces'][$ifass]['mtu']) > $mtu)) {
 					$mtu = intval($config['interfaces'][$ifass]['mtu']);
 				}
 			}
 		}
 	}
-	if (is_array($qinqs)) {
-		foreach ($qinqs as $qinq) {
-			$ifass = convert_real_interface_to_friendly_interface_name($qinq['vlanif']);
-			if (empty($ifass)) {
-				continue;
-			}
-			if (!empty($config['interfaces'][$ifass]['mtu'])) {
-				if (intval($config['interfaces'][$ifass]['mtu']) > $mtu) {
-					$mtu = intval($config['interfaces'][$ifass]['mtu']);
-				}
-			}
-		}
-	}
-	foreach ($gifs as $gif) {
-		$ifass = convert_real_interface_to_friendly_interface_name($gif['gifif']);
-		if (empty($ifass)) {
-			continue;
-		}
-		if (!empty($config['interfaces'][$ifass]['mtu'])) {
-			if (intval($config['interfaces'][$ifass]['mtu']) > $mtu) {
-				$mtu = intval($config['interfaces'][$ifass]['mtu']);
-			}
-		}
-	}
-	foreach ($gres as $gre) {
-		$ifass = convert_real_interface_to_friendly_interface_name($gre['greif']);
-		if (empty($ifass)) {
-			continue;
-		}
-		if (!empty($config['interfaces'][$ifass]['mtu'])) {
-			if (intval($config['interfaces'][$ifass]['mtu']) > $mtu) {
-				$mtu = intval($config['interfaces'][$ifass]['mtu']);
-			}
-		}
-	}
-	$ifass = convert_real_interface_to_friendly_interface_name($bridge);
-	if (!empty($ifass) && !empty($config['interfaces'][$ifass]['mtu'])) {
-		if (intval($config['interfaces'][$ifass]['mtu']) > $mtu) {
-			$mtu = intval($config['interfaces'][$ifass]['mtu']);
-		}
-	}
-	unset($vlans, $bridge, $gifs, $gres, $ifass, $vlan);
 
 	return $mtu;
 }
