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 be9d265e209fec8f94b1b9a38ea93fb9b3ff1f6e..10b16181b114c7879ba21bffb60fc1ff71f9fc6c 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
@@ -1,11 +1,14 @@
-#!/bin/sh
+#!/usr/bin/lua
 
-. /lib/functions.sh
-. /lib/gluon/functions/sysctl.sh
+local uci = require('luci.model.uci').cursor()
+local sysctl = require 'gluon.sysctl'
 
 
-uci_set network wan peerdns '0'
-uci_commit network
+uci:set('network', 'wan', 'peerdns', '0')
 
-sysctl_set net.ipv6.conf.all.accept_ra 0
-sysctl_set net.ipv6.conf.default.accept_ra 0
+uci:save('network')
+uci:commit('network')
+
+
+sysctl.set('net.ipv6.conf.all.accept_ra', 0)
+sysctl.set('net.ipv6.conf.default.accept_ra', 0)