diff --git a/patches/openwrt/0018-x86-fix-platform_export_bootpart-for-Xen-virtual-disks.patch b/patches/openwrt/0018-x86-fix-platform_export_bootpart-for-Xen-virtual-disks.patch
new file mode 100644
index 0000000000000000000000000000000000000000..4e0ce1384ede59d38cb1ec9c4bc581619f97ea8e
--- /dev/null
+++ b/patches/openwrt/0018-x86-fix-platform_export_bootpart-for-Xen-virtual-disks.patch
@@ -0,0 +1,25 @@
+From: Alexander Dahl <alex@netz39.de>
+Date: Thu, 17 Mar 2016 15:04:09 +0100
+Subject: x86: fix platform_export_bootpart() for Xen virtual disks
+
+Virtual disk devices in a Xen virtual machine (DomU) can be /dev/xvda,
+/dev/xvdb and so on with partitions like /dev/xdva1. Devices named like
+this where not considered before. This resulted in a non working
+sysupgrade, because the boot partition could not be found.
+
+Signed-off-by: Alexander Dahl <alex@netz39.de>
+Suggested-by: Matthias Schiffer <mschiffer@universe-factory.net>
+
+diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh
+index 73ab5ef..adc119c 100644
+--- a/target/linux/x86/base-files/lib/upgrade/platform.sh
++++ b/target/linux/x86/base-files/lib/upgrade/platform.sh
+@@ -17,7 +17,7 @@ platform_export_bootpart() {
+ 			PARTUUID=[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-02)
+ 				uuid="${disk#PARTUUID=}"
+ 				uuid="${uuid%-02}"
+-				for disk in /dev/[hsv]d[a-z]; do
++				for disk in /dev/[hsv]d[a-z] /dev/xvd[a-z]; do
+ 					set -- $(dd if=$disk bs=1 skip=440 count=4 2>/dev/null | hexdump -v -e '4/1 "%02x "')
+ 					if [ "$4$3$2$1" = "$uuid" ]; then
+ 						export BOOTPART="${disk}1"