diff --git a/Makefile b/Makefile
index b5f4305b72f98641f268473cd194d96316375a5f..7f5fd437e34452878a534ab37d220900e954126d 100644
--- a/Makefile
+++ b/Makefile
@@ -200,7 +200,8 @@ feeds: FORCE
 	rm -rf $(TOPDIR)/package/feeds
 	mkdir $(TOPDIR)/package/feeds
 	[ ! -f $(GLUON_SITEDIR)/modules ] || . $(GLUON_SITEDIR)/modules && for feed in $$GLUON_SITE_FEEDS; do ln -s ../../../packages/$$feed $(TOPDIR)/package/feeds/$$feed; done
-	. $(GLUONDIR)/modules && for feed in $$GLUON_FEEDS; do ln -s ../../../packages/$$feed $(TOPDIR)/package/feeds/$$feed; done
+	ln -s ../../../package $(TOPDIR)/package/feeds/gluon
+	. $(GLUONDIR)/modules && for feed in $$GLUON_FEEDS; do ln -s ../../../packages/$$feed $(TOPDIR)/package/feeds/module_$$feed; done
 	+$(GLUONMAKE_EARLY) prepare-tmpinfo
 
 config: FORCE
@@ -284,7 +285,7 @@ prepare-image: FORCE
 	+$(SUBMAKE) -C $(TOPDIR)/target/linux/$(BOARD)/image -f $(GLUONDIR)/include/Makefile.image prepare KDIR="$(BOARD_KDIR)"
 
 prepare: FORCE
-	@$(STAGING_DIR_HOST)/bin/lua $(GLUONDIR)/packages/gluon/gluon/gluon-core/files/usr/lib/lua/gluon/site_config.lua \
+	@$(STAGING_DIR_HOST)/bin/lua $(GLUONDIR)/package/gluon-core/files/usr/lib/lua/gluon/site_config.lua \
 		|| (echo 'Your site configuration did not pass validation.'; false)
 
 	mkdir -p $(GLUON_IMAGEDIR) $(BOARD_BUILDDIR)
diff --git a/modules b/modules
index 04e3f0f4b41a236e0431deaa215ba2fa1bd15f66..d574193aedf282c72ab51ae4ab247e55179162e6 100644
--- a/modules
+++ b/modules
@@ -8,7 +8,7 @@ PACKAGES_OPENWRT_COMMIT=01fcd1f29174a56d6ddb59901ed8c67ea42c3a8f
 PACKAGES_OPENWRT_BRANCH=for-14.07
 
 PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git
-PACKAGES_GLUON_COMMIT=6f4e75c6405ac028ddac17e80d3b09cdefae3391
+PACKAGES_GLUON_COMMIT=db5699bede2e1223624a0d87c9ae91219b08572d
 
 PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git
 PACKAGES_ROUTING_COMMIT=5d4ad63897b435d5df0f39a49bd58962c22c33b8
diff --git a/scripts/check_site.sh b/scripts/check_site.sh
index 17ee4b56d944e575aeaf58c33ca1fe6c85036518..e0aa43e573910d0236dc5af360bbfcd806eda836 100755
--- a/scripts/check_site.sh
+++ b/scripts/check_site.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-SITE_CONFIG_LUA=packages/gluon/gluon/gluon-core/files/usr/lib/lua/gluon/site_config.lua
+SITE_CONFIG_LUA=package/gluon-core/files/usr/lib/lua/gluon/site_config.lua
 CHECK_SITE_LIB=scripts/check_site_lib.lua
 
 "$GLUONDIR"/openwrt/staging_dir/host/bin/lua -e "site = dofile(os.getenv('GLUONDIR') .. '/${SITE_CONFIG_LUA}'); dofile(os.getenv('GLUONDIR') .. '/${CHECK_SITE_LIB}'); dofile()"
diff --git a/scripts/site.sh b/scripts/site.sh
index c523da2041fad62e051f16a49b769c2e7e51eafc..82016cbe58190e9e6a04aaaa047e63b69c031298 100755
--- a/scripts/site.sh
+++ b/scripts/site.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-SITE_CONFIG_LUA=packages/gluon/gluon/gluon-core/files/usr/lib/lua/gluon/site_config.lua
+SITE_CONFIG_LUA=package/gluon-core/files/usr/lib/lua/gluon/site_config.lua
 
 "$GLUONDIR"/openwrt/staging_dir/host/bin/lua -e "print(assert(dofile(os.getenv('GLUONDIR') .. '/${SITE_CONFIG_LUA}').$1))" 2>/dev/null