diff --git a/package/gluon-core/files/lib/gluon/upgrade/core/initial/001-sysconfig b/package/gluon-core/files/lib/gluon/upgrade/core/initial/001-sysconfig
index 9eed5ff99168a11845af577c03e06069aee0c122..afabb2dff29f0046a279a4d476c0993da9e2b42e 100755
--- a/package/gluon-core/files/lib/gluon/upgrade/core/initial/001-sysconfig
+++ b/package/gluon-core/files/lib/gluon/upgrade/core/initial/001-sysconfig
@@ -5,14 +5,14 @@
 
 
 get_primary_mac() {
-    case "$(ar71xx_board_name)" in
-	tl-wdr3600|tl-wdr4300)
-	    cat /sys/class/ieee80211/phy1/macaddress
-	    ;;
-	*)
-	    cat /sys/class/ieee80211/phy0/macaddress
-	    ;;
-    esac
+	case "$(ar71xx_board_name)" in
+		tl-wdr3600|tl-wdr4300)
+			cat /sys/class/ieee80211/phy1/macaddress
+			;;
+		*)
+			cat /sys/class/ieee80211/phy0/macaddress
+			;;
+	esac
 }
 
 iface_exists() {
@@ -20,8 +20,17 @@ iface_exists() {
 	ip link show dev "${name//.*/}" >/dev/null 2>&1
 }
 
-lan_ifname="$(uci get network.lan.ifname)"
-wan_ifname="$(uci get network.wan.ifname)"
+case "$(ar71xx_board_name)" in
+	nanostation-m)
+		# It's more convenient to swap the ports for these devices so WAN is the PoE port
+		lan_ifname="$(uci get network.wan.ifname)"
+		wan_ifname="$(uci get network.lan.ifname)"
+		;;
+	*)
+		lan_ifname="$(uci get network.lan.ifname)"
+		wan_ifname="$(uci get network.wan.ifname)"
+		;;
+esac
 
 if [ -n "$wan_ifname" ] && iface_exists "$wan_ifname"; then
 	[ -z "$lan_ifname" ] || sysconfig_set lan_ifname "$lan_ifname"