diff --git a/0054-kernel-modules-module-setup.sh-install-all-host-file.patch b/0054-kernel-modules-module-setup.sh-install-all-host-file.patch
new file mode 100644
index 0000000..269d657
--- /dev/null
+++ b/0054-kernel-modules-module-setup.sh-install-all-host-file.patch
@@ -0,0 +1,76 @@
+From fd191a7b41b0f402e8c36f692b5f1b5e9eb8b035 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Mon, 18 Mar 2013 08:43:23 +0100
+Subject: [PATCH] kernel-modules/module-setup.sh: install all host filesystem
+ drivers
+
+https://bugzilla.redhat.com/show_bug.cgi?id=922565
+---
+ dracut-functions.sh                        | 14 ++++++++++++++
+ modules.d/90kernel-modules/module-setup.sh |  8 +++-----
+ 2 files changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index c6a5c7e..eba7412 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -457,12 +457,20 @@ for_each_host_dev_fs()
+     local _func="$1"
+     local _dev
+     local _ret=1
++
++    [[ "${!host_fs_types[@]}" ]] || return 0
++
+     for _dev in "${!host_fs_types[@]}"; do
+         $_func "$_dev" "${host_fs_types[$_dev]}" && _ret=0
+     done
+     return $_ret
+ }
+ 
++host_fs_all()
++{
++    echo "${host_fs_types[@]}"
++}
++
+ # Walk all the slave relationships for a given block device.
+ # Stop when our helper function returns success
+ # $1 = function to call on every found block device
+@@ -508,6 +516,9 @@ for_each_host_dev_and_slaves_all()
+     local _func="$1"
+     local _dev
+     local _ret=1
++
++    [[ "${host_devs[@]}" ]] || return 0
++
+     for _dev in ${host_devs[@]}; do
+         [[ -b "$_dev" ]] || continue
+         if check_block_and_slaves_all $_func $(get_maj_min $_dev); then
+@@ -521,6 +532,9 @@ for_each_host_dev_and_slaves()
+ {
+     local _func="$1"
+     local _dev
++
++    [[ "${host_devs[@]}" ]] || return 0
++
+     for _dev in ${host_devs[@]}; do
+         [[ -b "$_dev" ]] || continue
+         check_block_and_slaves $_func $(get_maj_min $_dev) && return 0
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 7d7da83..bd35a2c 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -65,11 +65,9 @@ installkernel() {
+                     instmods '=fs'
+             fi
+         else
+-            inst_fs() {
+-                [[ $2 ]] || return 1
+-                hostonly='' instmods $2
+-            }
+-            for_each_host_dev_fs inst_fs
++            for i in $(host_fs_all); do
++                hostonly='' instmods $i
++            done
+         fi
+     fi
+ }
diff --git a/dracut.spec b/dracut.spec
index df78fdb..00f223f 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 026
-Release: 54.git20130316%{?dist}
+Release: 55.git20130318%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -82,6 +82,7 @@ Patch50: 0050-TEST-16-DMSQUASH-use-current-releasever.patch
 Patch51: 0051-dracut.conf.5.asc-remove-duplicated-install_items.patch
 Patch52: 0052-dmsquash-live-force-load-squashfs-kernel-module.patch
 Patch53: 0053-sosreport-mkdir-run-initramfs-if-it-does-not-exist-y.patch
+Patch54: 0054-kernel-modules-module-setup.sh-install-all-host-file.patch
 
 
 BuildRequires: dash bash git
@@ -471,6 +472,10 @@ rm -rf $RPM_BUILD_ROOT
 %{dracutlibdir}/dracut.conf.d/02-norescue.conf
 
 %changelog
+* Mon Mar 18 2013 Harald Hoyer <harald@redhat.com> 026-55.git20130318
+- install all host filesystem drivers
+Resolves: rhbz#922565
+
 * Sat Mar 16 2013 Harald Hoyer <harald@redhat.com> 026-54.git20130316
 - fix for squashfs
 Resolves: rhbz#922248