diff --git a/include/host.mk b/include/host.mk
index 833aa83a66fb3c75204c6fe74160e4a59d3fbc15..cc0436e7b04b42fcd293243b96c02ce5b035810a 100644
--- a/include/host.mk
+++ b/include/host.mk
@@ -5,7 +5,7 @@
 # See /LICENSE for more information.
 #
 
-include $(TMP_DIR)/.host.mk
+-include $(TMP_DIR)/.host.mk
 
 export TAR
 
@@ -29,6 +29,11 @@ $(TMP_DIR)/.host.mk: $(TOPDIR)/include/host.mk
 		[ -n "$$TAR" -a -x "$$TAR" ] || TAR=`which tar 2>/dev/null`; \
 		echo "TAR:=$$TAR" >> $@; \
 		echo "BASH:=$(shell which bash)" >> $@; \
+		if find -L /tmp -maxdepth 0 >/dev/null 2>/dev/null; then \
+			echo 'FIND_L=find -L $$(1)' >>$@; \
+		else \
+			echo 'FIND_L=find $$(1) -follow' >> $@; \
+		fi; \
 	)
 
 endif
diff --git a/include/scan.mk b/include/scan.mk
index 04add4016c63f89f01fc56981ff77bed11f8296f..552f14637a74de4c1fd8819c6ad3a1b94ae1b727 100644
--- a/include/scan.mk
+++ b/include/scan.mk
@@ -1,7 +1,10 @@
 include $(TOPDIR)/include/verbose.mk
+TMP_DIR:=$(TOPDIR)/tmp
 
 all: tmp/.$(SCAN_TARGET)
 
+include $(TOPDIR)/include/host.mk
+
 SCAN_TARGET ?= packageinfo
 SCAN_NAME ?= package
 SCAN_DIR ?= package
@@ -31,7 +34,7 @@ endef
 
 $(FILELIST):
 	rm -f tmp/info/.files-$(SCAN_TARGET)-*
-	find -follow $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
+	$(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
 
 tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST)
 	( \