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 916a55fef4354895711301e795532a4e7e67c55d..64fd2830e1bbf3de0f068ecb3c87f8a578b79073 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
@@ -1,19 +1,9 @@
 #!/usr/bin/lua
 
-local sysconfig = require 'gluon.sysconfig'
 local uci = require('luci.model.uci').cursor()
 
-
 uci:delete('network', 'lan')
 uci:delete('network', 'wan')
 
-uci:section('network', 'interface', 'wan',
-	    {
-	       ifname = sysconfig.wan_ifname,
-	       type = 'bridge',
-	       proto = 'dhcp',
-	    }
-)
-
 uci:save('network')
 uci:commit('network')
diff --git a/package/gluon-core/files/lib/gluon/upgrade/core/invariant/011-network b/package/gluon-core/files/lib/gluon/upgrade/core/invariant/011-network
index d3ca16719d2a64839c9ea93081d692b8faa37725..1fd78f3c7a547575dbe3bda684c679a3432bace0 100755
--- a/package/gluon-core/files/lib/gluon/upgrade/core/invariant/011-network
+++ b/package/gluon-core/files/lib/gluon/upgrade/core/invariant/011-network
@@ -2,22 +2,34 @@
 
 local uci = require('luci.model.uci').cursor()
 local sysctl = require 'gluon.sysctl'
+local sysconfig = require 'gluon.sysconfig'
 
 
-if not uci:get('network', 'interface', 'wan6') then
-   uci:section('network', 'interface', 'wan6',
-	       {
-		  ifname = 'br-wan',
-		  proto = 'dhcpv6',
-	       }
-   )
+uci:section('network', 'interface', 'wan',
+	    {
+	      ifname = sysconfig.wan_ifname,
+	      type = 'bridge',
+	      peerdns = 0,
+	      auto = 1,
+	    }
+)
+
+if not uci:get('network', 'wan', 'proto') then
+  uci:set('network', 'wan', 'proto', 'dhcp')
 end
 
 
-uci:set('network', 'wan', 'peerdns', '0')
+uci:section('network', 'interface', 'wan6',
+	    {
+	      ifname = 'br-wan',
+	      peerdns = 0,
+	      ip6table = 1,
+	    }
+)
 
-uci:set('network', 'wan6', 'peerdns', '0')
-uci:set('network', 'wan6', 'ip6table', '1')
+if not uci:get('network', 'wan6', 'proto') then
+  uci:set('network', 'wan6', 'proto', 'dhcpv6')
+end
 
 
 uci:section('network', 'rule6', 'wan6_lookup',