diff --git a/include/scan.mk b/include/scan.mk
index 3229523ea4ef36c0c1e28543ad6b433c6c4705ed..aa7c2e74b5e3ba6dd2a647ba7c15f651dd9a4192 100644
--- a/include/scan.mk
+++ b/include/scan.mk
@@ -40,12 +40,12 @@ define scanfiles
 $(foreach FILE,$(SCAN),
   tmp/.$(SCAN_TARGET): tmp/info/.$(SCAN_TARGET)-$(FILE) FORCE
   tmp/info/.$(SCAN_TARGET)-$(FILE): $(SCAN_DEPS) $(SCAN_DIR)/$(FILE)/Makefile $(SCAN_STAMP)
-	{ \
+	grep -E 'include (\$$$$\(INCLUDE_DIR\)|\$$$$\(TOPDIR\)/include)/' $(SCAN_DIR)/$(FILE)/Makefile >/dev/null && { \
 		$$(call progress,Collecting $(SCAN_NAME) info: $(SCAN_DIR)/$(FILE)) \
 		echo Source-Makefile: $(SCAN_DIR)/$(FILE)/Makefile; \
 		$(NO_TRACE_MAKE) --no-print-dir DUMP=1 -C $(SCAN_DIR)/$(FILE) 3>/dev/null || echo "ERROR: please fix $(SCAN_DIR)/$(FILE)/Makefile" >&2; \
 		echo; \
-	} > $$@
+	} > $$@ || true
 )
 
 endef