diff --git a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh
index f4c62743682ae94cebd396e683d3b31d6333f0f1..d531d7b83d97423bb967def552a2c9d5c2384d89 100644
--- a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh
+++ b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh
@@ -56,25 +56,21 @@ set_port_settings() {
 	[ "$duplex" == 0 ] && dplx="HD" || dplx="FD"
 	crossbar="$(echo `ethctl $ifname phy-crossbar` | awk -F' ' '{ print $2 $3 }')"
 
-        if [ "$crossbar" == "oncrossbar" ]; then
-	    crossbarports="$(echo `ethctl $ifname phy-crossbar` | awk -F':' '{ print $NF }')"
+	if [ "$crossbar" == "oncrossbar" ]; then
+		crossbarports="$(echo `ethctl $ifname phy-crossbar` | awk -F':' '{ print $NF }')"
 
-            for subport in $crossbarports; do
-                ethctl $ifname media-type $speed$dplx port $subport &>/dev/null
-            done
-        else
-            ethctl $ifname media-type $speed$dplx &>/dev/null
-        fi
-
-	if [ "$autoneg" == "on" ]; then
-		# If Auto-negotiation is enabled, use ethswctl
-		# utility to advertise all supported speeds
-		if [ "$crossbar" == "oncrossbar" ]; then
+		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
+	else
+		if [ "$autoneg" == "on" ]; then
 			ethctl $ifname media-type auto &>/dev/null
+		else
+			ethctl $ifname media-type $speed$dplx &>/dev/null
 		fi
 	fi