diff --git a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/330-gluon-mesh-batman-adv-mac-addresses b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/330-gluon-mesh-batman-adv-mac-addresses
index a8e69d786a236f13d6833e09e04b264385f84ec4..d323c86337be01834512ce9fe4638d1083d8fc79 100755
--- a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/330-gluon-mesh-batman-adv-mac-addresses
+++ b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/330-gluon-mesh-batman-adv-mac-addresses
@@ -1,10 +1,15 @@
 #!/usr/bin/lua
 
+local site = require 'gluon.site'
 local util = require 'gluon.util'
 local uci = require('simple-uci').cursor()
 
 
 -- fix up potentially duplicate MAC addresses (for meshing)
-uci:set('network', 'wan', 'macaddr', util.generate_mac(0))
+if not site.mesh.vxlan(true) then
+	uci:set('network', 'wan', 'macaddr', util.generate_mac(0))
+else
+	uci:delete('network', 'wan', 'macaddr')
+end
 uci:set('network', 'mesh_lan', 'macaddr', util.generate_mac(4))
 uci:save('network')