diff --git a/ffnw-node-info/files/lib/gluon/upgrade/520-node-info-autolocation b/ffnw-node-info/files/lib/gluon/upgrade/520-node-info-autolocation
index c9fa36d8ed9e257d4dd556a7affe80d2fe884420..bc0d378e3903f10b9ec6790b9be34a7b905c0a1a 100755
--- a/ffnw-node-info/files/lib/gluon/upgrade/520-node-info-autolocation
+++ b/ffnw-node-info/files/lib/gluon/upgrade/520-node-info-autolocation
@@ -2,7 +2,17 @@
 
 local site = require 'gluon.site_config'
 local uci = require('luci.model.uci').cursor()
+local config = 'gluon-node-info'
+local auto_location = uci:get(config, uci:get_first(config, 'location'), 'auto_location')
 
-  uci:set('gluon-node-info', uci:get_first('gluon-node-info', 'location'), 'auto_location', site.location.autolocation)
-  uci:save('gluon-node-info')
-  uci:commit('gluon-node-info')
+if site.location.autolocation then
+  default_autolocation = tonumber(site.location.autolocation)
+else
+  default_autolocation = 0
+end
+
+if not auto_location then
+  uci:set(config, uci:get_first(config, 'location'),'auto_location', default_autolocation)
+  uci:save(config)
+  uci:commit(config)
+end