diff --git a/package/gluon-core/Makefile b/package/gluon-core/Makefile
index e90002bb32f488380cb0bd5f51a030116bf2c6ec..3b2b7ca941b89ce9061f21dcc40bf8e0e1657ad5 100644
--- a/package/gluon-core/Makefile
+++ b/package/gluon-core/Makefile
@@ -16,7 +16,7 @@ define Package/gluon-core
   CATEGORY:=Gluon
   TITLE:=Base files of Gluon
   DEPENDS:= \
-	+gluon-site +libgluonutil +lua-platform-info +lua-simple-uci +lua-hash +luci-lib-jsonc +luci-lib-nixio \
+	+gluon-site +libgluonutil +lua-platform-info +lua-simple-uci +lua-hash +lua-jsonc +luci-lib-nixio \
 	+vxlan +odhcp6c +firewall +pretty-hostname
 endef
 
diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/site.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/site.lua
index 56491763c8c2b714c71a8738e974176912438cb0..65d38cd86852adf92db960022310f6e8abd77c62 100644
--- a/package/gluon-core/luasrc/usr/lib/lua/gluon/site.lua
+++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/site.lua
@@ -1,22 +1,5 @@
-local site = (function()
-	local config = '/lib/gluon/site.json'
-
-	local json = require 'luci.jsonc'
-	local decoder = json.new()
-	local sink = decoder:sink()
-
-	local file = assert(io.open(config))
-
-	while true do
-		local chunk = file:read(2048)
-		if not chunk or chunk:len() == 0 then break end
-		sink(chunk)
-	end
-
-	file:close()
-
-	return assert(decoder:get())
-end)()
+local json = require 'jsonc'
+local site = assert(json.load('/lib/gluon/site.json'))
 
 
 local wrap
diff --git a/package/gluon-status-page-api/luasrc/lib/gluon/status-page/www/cgi-bin/interfaces b/package/gluon-status-page-api/luasrc/lib/gluon/status-page/www/cgi-bin/interfaces
index d4ea74f80cc0c2f055cf33e8426f17eb703cea88..3410d4a6fef42c33b1e4ea66375afd288f1eb6ac 100755
--- a/package/gluon-status-page-api/luasrc/lib/gluon/status-page/www/cgi-bin/interfaces
+++ b/package/gluon-status-page-api/luasrc/lib/gluon/status-page/www/cgi-bin/interfaces
@@ -1,7 +1,7 @@
 #!/usr/bin/lua
 util = require 'gluon.util'
 fs = require 'nixio.fs'
-json = require 'luci.jsonc'
+json = require 'jsonc'
 ubus = require 'ubus'
 
 io.write("Access-Control-Allow-Origin: *\n")
diff --git a/package/gluon-web/Makefile b/package/gluon-web/Makefile
index 57700fc1cc5f510d15f8a5887b637e814840c3c3..eecd0ac0b5b757f41681c173d0d8b55bfdc81af9 100644
--- a/package/gluon-web/Makefile
+++ b/package/gluon-web/Makefile
@@ -16,7 +16,7 @@ define Package/gluon-web
   SECTION:=gluon
   CATEGORY:=Gluon
   TITLE:=Minimal Lua web framework derived from LuCI
-  DEPENDS:=+luci-lib-jsonc +luci-lib-nixio
+  DEPENDS:=+lua-jsonc +luci-lib-nixio
 endef
 
 define lang-config
diff --git a/package/gluon-web/luasrc/usr/lib/lua/gluon/web/dispatcher.lua b/package/gluon-web/luasrc/usr/lib/lua/gluon/web/dispatcher.lua
index de6e6a877300630f66b37594925ed1101c39eba4..593372134f1b26edca88b2b95b4ec078ab5058cf 100644
--- a/package/gluon-web/luasrc/usr/lib/lua/gluon/web/dispatcher.lua
+++ b/package/gluon-web/luasrc/usr/lib/lua/gluon/web/dispatcher.lua
@@ -4,7 +4,7 @@
 -- Licensed to the public under the Apache License 2.0.
 
 local fs = require "nixio.fs"
-local json = require "luci.jsonc"
+local json = require "jsonc"
 local tpl = require "gluon.web.template"
 local util = require "gluon.web.util"
 local proto = require "gluon.web.http.protocol"