diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh b/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh
index b18c975de53f0df07f10e43f54557c4f3158f63b..c247ea929ca56a7079eb95eae0b6ef0ef2188d6b 100755
--- a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh
+++ b/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh
@@ -1,33 +1,20 @@
 #!/bin/sh
 
-
+. /lib/functions.sh
 . /lib/gluon/functions/sysconfig.sh
 
 
-uci -q batch <<EOF
-delete batman-adv.bat0
-
-set batman-adv.bat0='mesh'
-set batman-adv.bat0.orig_interval='5000'
-
-commit batman-adv
-
-set network.client='interface'
-set network.client.ifname='$(sysconfig lan_ifname) bat0'
-set network.client.type='bridge'
-set network.client.proto='dhcpv6'
-set network.client.reqprefix='no'
-set network.client.peerdns='0'
-EOF
-
-
-local mainaddr=$(sysconfig primary_mac)
-local oIFS="$IFS"; IFS=":"; set -- $mainaddr; IFS="$oIFS"
-local b2mask=0x02
-
-local vpnaddr=$(printf "%02x:%s:%s:%02x:%s:%s" $(( 0x$1 | $b2mask )) $2 $3 $(( (0x$4 + 1) % 0x100 )) $5 $6)
+uci_remove batman-adv bat0
+uci_add batman-adv mesh bat0
+uci_set batman-adv bat0 orig_interval '5000'
+uci_commit batman-adv
 
-uci set network.client.macaddr="$mainaddr"
-uci set network.mesh_vpn.macaddr="$vpnaddr"
+uci_add network interface client
+uci_set network client ifname "$(sysconfig lan_ifname) bat0"
+uci_set network client type 'bridge'
+uci_set network client proto 'dhcpv6'
+uci_set network client reqprefix 'no'
+uci_set network client peerdns '0'
+uci_set network client macaddr "$(sysconfig primary_mac)"
 
-uci commit network
+uci_commit network