diff --git a/package/gluon-config-mode/files/etc/init.d/gluon-config-mode b/package/gluon-config-mode/files/etc/init.d/gluon-config-mode
index 845ab4c30b0a9ebcc2ae6cbbee2cd4676ecc4df9..e613f7b17c56a97bfdf3e35f703086efc8533035 100755
--- a/package/gluon-config-mode/files/etc/init.d/gluon-config-mode
+++ b/package/gluon-config-mode/files/etc/init.d/gluon-config-mode
@@ -35,7 +35,7 @@ setup_network() {
 		config_foreach delete_interface interface
 
 		uci_add network interface config
-		uci_set network config ifname "$(sysconfig lan_ifname || sysconfig wan_ifname)"
+		uci_set network config ifname "$(sysconfig config_ifname)"
 		uci_set network config type 'bridge'
 		uci_set network config proto 'static'
 		uci_set network config ipaddr "$CONFIG_MODE_ADDR"
diff --git a/package/gluon-config-mode/files/lib/gluon/upgrade/config-mode/invariant/010-config-ifname b/package/gluon-config-mode/files/lib/gluon/upgrade/config-mode/invariant/010-config-ifname
new file mode 100755
index 0000000000000000000000000000000000000000..ce54a9b3a932b21d37144602a88db1cecb754060
--- /dev/null
+++ b/package/gluon-config-mode/files/lib/gluon/upgrade/config-mode/invariant/010-config-ifname
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+. /lib/gluon/functions/sysconfig.sh
+. /lib/ar71xx.sh
+
+
+sysconfig_isset config_ifname && exit 0
+
+
+case "$(ar71xx_board_name)" in
+	nanostation-m)
+		sysconfig_set config_ifname "$(sysconfig wan_ifname || sysconfig lan_ifname)"
+		;;
+	*)
+		sysconfig_set config_ifname "$(sysconfig lan_ifname || sysconfig wan_ifname)"
+		;;
+esac