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 36cdffdb36ad19c0cf5dc9ec02b99cd14973a3cb..9eed5ff99168a11845af577c03e06069aee0c122 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
@@ -15,10 +15,15 @@ get_primary_mac() {
     esac
 }
 
+iface_exists() {
+	local name="$1"
+	ip link show dev "${name//.*/}" >/dev/null 2>&1
+}
+
 lan_ifname="$(uci get network.lan.ifname)"
 wan_ifname="$(uci get network.wan.ifname)"
 
-if [ -n "$wan_ifname" ]; then
+if [ -n "$wan_ifname" ] && iface_exists "$wan_ifname"; then
 	[ -z "$lan_ifname" ] || sysconfig_set lan_ifname "$lan_ifname"
 	sysconfig_set wan_ifname "$wan_ifname"
 else
diff --git a/package/gluon-core/files/lib/gluon/upgrade/core/initial/011-gluon-network b/package/gluon-core/files/lib/gluon/upgrade/core/initial/011-gluon-network
index 400cb40dc2b916d78d07e5b6bd48c8134e1bab14..b335913a328c506c24aaf8239530cf95e355efd9 100755
--- a/package/gluon-core/files/lib/gluon/upgrade/core/initial/011-gluon-network
+++ b/package/gluon-core/files/lib/gluon/upgrade/core/initial/011-gluon-network
@@ -7,7 +7,10 @@
 
 
 uci_remove network lan
+uci_remove network wan
 
+uci_add network interface wan
+uci_set network wan ifname "$(sysconfig wan_ifname)"
 uci_set network wan type 'bridge'
 uci_set network wan proto 'dhcp'