diff --git a/Makefile b/Makefile
index 2050287d2e9f2e91bcecb2be8e647ee3f1142d76..5d267e042b60cb80a2b1069eda73adcd8a5a3479 100644
--- a/Makefile
+++ b/Makefile
@@ -143,6 +143,7 @@ export GLUON_CONFIGURE := $(GLUONDIR)/scripts/configure.pl
 
 
 feeds: FORCE
+	[ ! -f $(GLUON_SITEDIR)/modules ] || . $(GLUON_SITEDIR)/modules && for feed in $$GLUON_SITE_FEEDS; do echo src-link $$feed ../../packages/$$feed; done > feeds.conf
 	. $(GLUONDIR)/modules && for feed in $$GLUON_FEEDS; do echo src-link $$feed ../../packages/$$feed; done > feeds.conf
 	+$(GLUONMAKE) refresh_feeds V=s$(OPENWRT_VERBOSE)
 
diff --git a/scripts/modules.sh b/scripts/modules.sh
index 1d0925aec20b56af751085a66ccbdacda78c6e55..24f60502a404238fe1bab9a54302986f38f34518 100644
--- a/scripts/modules.sh
+++ b/scripts/modules.sh
@@ -1,7 +1,8 @@
 . "$1"/modules
+[ ! -f "$1"/site/modules ] || . "$1"/site/modules
 
 GLUON_MODULES=openwrt
 
-for feed in $GLUON_FEEDS; do
+for feed in $GLUON_SITE_FEEDS $GLUON_FEEDS; do
 	GLUON_MODULES="$GLUON_MODULES packages/$feed"
 done