diff --git a/ffs-lowmem-patches/Makefile b/ffs-lowmem-patches/Makefile
index f9a8750aff54801605bb8207d6c17ef7bde70859..6036f36bcd9100c605cc406b2a08454afaba11da 100644
--- a/ffs-lowmem-patches/Makefile
+++ b/ffs-lowmem-patches/Makefile
@@ -5,7 +5,7 @@ PKG_VERSION:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
diff --git a/ffs-set-segment/Makefile b/ffs-set-segment/Makefile
index 607bdfaf208bd254d07e6db82cccf8673cb68b93..b2c98d17d3541030913a102522a1fbd8d372de7b 100644
--- a/ffs-set-segment/Makefile
+++ b/ffs-set-segment/Makefile
@@ -5,7 +5,7 @@ PKG_VERSION:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
diff --git a/ffs-watchdog/Makefile b/ffs-watchdog/Makefile
index 2e13831628f567b241ddd0ef69ede7ca270e5794..8b56f802206cb479b16ac071a46d599a095f87b0 100644
--- a/ffs-watchdog/Makefile
+++ b/ffs-watchdog/Makefile
@@ -5,7 +5,7 @@ PKG_VERSION:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
diff --git a/gluon-config-mode-zip/Makefile b/gluon-config-mode-zip/Makefile
index 893afe3b8f9f5fa96f6de2a8a35df306f079a1c9..d0b1f310ba086fd782001493914c6f7beec69f5c 100644
--- a/gluon-config-mode-zip/Makefile
+++ b/gluon-config-mode-zip/Makefile
@@ -6,7 +6,7 @@ PKG_VERSION:=1
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 PKG_BUILD_DEPENDS := respondd
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
@@ -15,7 +15,7 @@ define Package/gluon-config-mode-zip
   SECTION:=gluon
   CATEGORY:=Gluon
   TITLE:=Set ZIP-Code location of a node
-  DEPENDS:=gluon-config-mode-core-virtual +gluon-node-info
+  DEPENDS:=+gluon-config-mode-core +gluon-node-info
 endef
 
 define Build/Prepare
diff --git a/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua b/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua
index c2f30cd6df7f45dd8245737b5c32b4eefa68f831..ace7469b513fda1f7ccd44d5c5a69de211be88d3 100644
--- a/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua
+++ b/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua
@@ -1,31 +1,17 @@
-local cbi = require "luci.cbi"
-local i18n = require "luci.i18n"
-local uci = luci.model.uci.cursor()
 
-local M = {}
+return function(form, uci)
+    local location = uci:get_first("gluon-node-info", "location")
+    local text =  translate("gluon-config-mode:zip-help")
+    
+    local s = form:section(Section, nil, text)
 
-function M.section(form)
-    local text = i18n.translate("gluon-config-mode:zip-help")
-    local fieldlabel = i18n.translate("ZIP-Code")
-    local s = form:section(cbi.SimpleSection, nil, text)
-
-    local o = s:option(cbi.Value, "_zip", fieldlabel)
-    o.value = uci:get_first("gluon-node-info", "location", "zip")
-    o.rmempty = true
+    local o = s:option(Value, "zip", translate("ZIP-Code"), translatef("e.g. %s", "70499"))
+    o.default = uci:get("gluon-node-info", location, "zip")
     o.datatype = "uinteger"
-    o.description = i18n.translatef("e.g. %s", "70499")
-end
-
-function M.handle(data)
-    local sname = uci:get_first("gluon-node-info", "location")
-
-    if data._zip ~= nil then
-	    uci:set("gluon-node-info", sname, "zip", data._zip:trim())
-    else
-        uci:delete("gluon-node-info", sname, "zip")
+    o.optional = true
+    function o:write(data)
+        uci:set("gluon-node-info", location, "zip", data)
     end
-        uci:save("gluon-node-info")
-        uci:commit("gluon-node-info")     
-end
-        
-return M
+    
+    return {'gluon-node-info'}
+end
\ No newline at end of file