diff --git a/package/fuse/Makefile b/package/fuse/Makefile
index 5e60e10ae5a476ed53a823355e67d22badac0895..792f5e67e0f1b8e4faa445942fc22652463b7b60 100644
--- a/package/fuse/Makefile
+++ b/package/fuse/Makefile
@@ -62,6 +62,9 @@ define Package/libfuse
 	This package contains the FUSE shared library, needed by other programs.
 endef
 
+CONFIGURE_VARS += \
+	 kernsrcver="$(LINUX_VERSION)"
+
 CONFIGURE_ARGS += \
 	--enable-shared \
 	--enable-static \
diff --git a/package/fuse/patches/100-cross_compile.patch b/package/fuse/patches/100-cross_compile.patch
new file mode 100644
index 0000000000000000000000000000000000000000..b7ec1518cef6ac802a1a5fbb92040f64d1660631
--- /dev/null
+++ b/package/fuse/patches/100-cross_compile.patch
@@ -0,0 +1,13 @@
+--- fuse.old/kernel/configure	2007-04-01 21:04:47.000000000 +0200
++++ fuse.dev/kernel/configure	2007-04-01 21:05:44.000000000 +0200
+@@ -1851,7 +1851,9 @@
+ 
+ 	{ echo "$as_me:$LINENO: checking kernel source version" >&5
+ echo $ECHO_N "checking kernel source version... $ECHO_C" >&6; }
+-	if test -r $kernelbuild/include/linux/version.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then
++	if [ -n "$kernsrcver" ]; then
++		echo "$kernsrcver (cached)"
++	elif test -r $kernelbuild/include/linux/version.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then
+ 		kernsrcver=`(echo "#include <linux/version.h>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2`
+ 	elif test -r $kernelbuild/include/linux/utsrelease.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/utsrelease.h; then
+ 		kernsrcver=`(echo "#include <linux/utsrelease.h>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2`