diff --git a/include/kernel.mk b/include/kernel.mk
index 1591c361354f299d01840a9eb1f3fd187590872c..1af072d6bb4eae9668a5295462a8c508f904faa7 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -157,11 +157,15 @@ $(call KernelPackage/$(1)/config)
 			if [ -e $$$$$$$$mod ]; then \
 				mkdir -p $$(1)/$(MODULES_SUBDIR) ; \
 				$(CP) -L $$$$$$$$mod $$(1)/$(MODULES_SUBDIR)/ ; \
-			elif  grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" "$(LINUX_DIR)/modules.builtin"; then \
-				echo "NOTICE: module '$$$$$$$$mod' is built-in."; \
+			elif [ -e "$(LINUX_DIR)/modules.builtin" ]; then \
+				if grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" "$(LINUX_DIR)/modules.builtin"; then \
+					echo "NOTICE: module '$$$$$$$$mod' is built-in."; \
+				else \
+					echo "ERROR: module '$$$$$$$$mod' is missing."; \
+					exit 1; \
+				fi; \
 			else \
-				echo "ERROR: module '$$$$$$$$mod' is missing."; \
-				exit 1; \
+				echo "WARNING: module '$$$$$$$$mod' missing and modules.builtin not available, assuming built-in."; \
 			fi; \
 		  done;
 		  $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))