diff --git a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh
index d531d7b83d97423bb967def552a2c9d5c2384d89..0ce40a44883359fb8196c4444640c977b624a710 100644
--- a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh
+++ b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh
@@ -43,7 +43,7 @@ set_port_settings() {
 	local autoneg=$5
 	local eee=$6
 	local pause=$7
-	local crossbarports
+	local crossbarports media_type
 
 	[ -d /sys/class/net/$ifname ] || return
 
@@ -56,22 +56,20 @@ set_port_settings() {
 	[ "$duplex" == 0 ] && dplx="HD" || dplx="FD"
 	crossbar="$(echo `ethctl $ifname phy-crossbar` | awk -F' ' '{ print $2 $3 }')"
 
+	if [ "$autoneg" = "on" ]; then
+		media_type="auto"
+	else
+		media_type="$speed$dplx"
+	fi
+
 	if [ "$crossbar" == "oncrossbar" ]; then
 		crossbarports="$(echo `ethctl $ifname phy-crossbar` | awk -F':' '{ print $NF }')"
 
-		if [ "$autoneg" == "on" ]; then
-			for subport in $crossbarports; do
-				ethctl $ifname media-type auto port $subport &>/dev/null
-			done
-		else
-			ethctl $ifname media-type $speed$dplx port $subport &>/dev/null
-		fi
+		for subport in $crossbarports; do
+			ethctl $ifname media-type $media_type port $subport &>/dev/null
+		done
 	else
-		if [ "$autoneg" == "on" ]; then
-			ethctl $ifname media-type auto &>/dev/null
-		else
-			ethctl $ifname media-type $speed$dplx &>/dev/null
-		fi
+		ethctl $ifname media-type $media_type &>/dev/null
 	fi
 
 	[ $eee -eq 1 ] && eee="on" || eee="off"