diff --git a/include/kernel.mk b/include/kernel.mk
index 9e94dce3b9fa021c999fdc4c44c099d6b41b6969..0df0337c493d3df08c69bd886c760ea0bc83471e 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -90,7 +90,8 @@ define ModuleAutoLoad
 		done; \
 		if [ -e $(2)/etc/modules.d/$$$$$$$$priority-$(1) ]; then \
 			if [ "$$$$$$$$boot" = "1" ]; then \
-				echo '# May be required for rootfs' >> $(2)/etc/modules.d/$$$$$$$$priority-$(1); \
+				mkdir -p $(2)/etc/modules-boot.d; \
+				ln -s ../modules.d/$$$$$$$$priority-$(1) $(2)/etc/modules-boot.d/; \
 			fi; \
 			modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$priority-$(1)"; \
 		fi; \
diff --git a/package/block-mount/Makefile b/package/block-mount/Makefile
index 657f727bb9d0bc913c9b1cb10658d0a63ad444ed..a4434ed34f43d8a9fd541a249484d5019c1aa26d 100644
--- a/package/block-mount/Makefile
+++ b/package/block-mount/Makefile
@@ -1,6 +1,6 @@
 #
-# Copyright (C) 2006-2009 OpenWrt.org
-# Copyright 2010 Vertical Communications
+# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=block-mount
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 include $(INCLUDE_DIR)/package.mk
 
diff --git a/package/block-mount/files/extmount.sh b/package/block-mount/files/extmount.sh
index 44d662e63affd1f5156108a770af43d0d1bffe43..41a0e238632c922bc1412e7c753970623e889bed 100644
--- a/package/block-mount/files/extmount.sh
+++ b/package/block-mount/files/extmount.sh
@@ -1,5 +1,6 @@
 #!/bin/sh
-# Copyright 2010 Vertical Communications
+# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
 
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -15,9 +16,9 @@ set_jffs_mp() {
 er_load_modules() {
 	mkdir -p /tmp/extroot_modules/modules.d
 	mkdir -p /tmp/extroot_modules/modules
-	ln -sf /etc/modules.d/* /tmp/overlay/etc/modules.d/* /tmp/extroot_modules/modules.d
+	cp -L /etc/modules-boot.d/* /tmp/overlay/etc/modules-boot.d/* /tmp/extroot_modules/modules.d
 	ln -sf /lib/modules/*/* /tmp/overlay/lib/modules/*/* /tmp/extroot_modules/modules
-    	local modules="$(grep -l '# May be required for rootfs' /tmp/extroot_modules/modules.d/* 2>/dev/null)"
+	local modules="$(cat /tmp/extroot_modules/modules.d/* 2>/dev/null)"
 	cd /tmp/extroot_modules/modules && [ -n "$modules" ] && {
 		cat $modules | sed -e 's/^\([^#].*\)/insmod \.\/\1.ko/'| sh 2>&- || :
 	}