diff --git a/0001-fix-qemu-build-with-xen-4.18.0.patch b/0001-fix-qemu-build-with-xen-4.18.0.patch
deleted file mode 100644
index ec716ac..0000000
--- a/0001-fix-qemu-build-with-xen-4.18.0.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3a2e5ecdde13bc4eb7f173f6cb36b1a6c752aa1f Mon Sep 17 00:00:00 2001
-Message-ID: <3a2e5ecdde13bc4eb7f173f6cb36b1a6c752aa1f.1701978796.git.m.a.young@durham.ac.uk>
-From: Michael Young <m.a.young@durham.ac.uk>
-Date: Thu, 7 Dec 2023 19:49:20 +0000
-Subject: [PATCH] fix qemu build with xen-4.18.0
-
----
- include/hw/xen/xen_native.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
-index 6f09c48823..04b1ef4d34 100644
---- a/include/hw/xen/xen_native.h
-+++ b/include/hw/xen/xen_native.h
-@@ -532,7 +532,7 @@ static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod,
- }
- #endif
- 
--#if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41700
-+#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 41700
- #define GUEST_VIRTIO_MMIO_BASE   xen_mk_ullong(0x02000000)
- #define GUEST_VIRTIO_MMIO_SIZE   xen_mk_ullong(0x00100000)
- #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
--- 
-2.43.0
-
diff --git a/0001-xen-fix-condition-for-enabling-the-Xen-accelerator.patch b/0001-xen-fix-condition-for-enabling-the-Xen-accelerator.patch
new file mode 100644
index 0000000..5be3634
--- /dev/null
+++ b/0001-xen-fix-condition-for-enabling-the-Xen-accelerator.patch
@@ -0,0 +1,83 @@
+From 5fed25c696c0e32933d71b4133afe7856b82c11b Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Sat, 9 Dec 2023 15:32:22 +0100
+Subject: [PATCH] xen: fix condition for enabling the Xen accelerator
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+A misspelled condition in xen_native.h is hiding a bug in the enablement of
+Xen for qemu-system-aarch64.  The bug becomes apparent when building for
+Xen 4.18.
+
+While the i386 emulator provides the xenpv machine type for multiple architectures,
+and therefore can be compiled with Xen enabled even when the host is Arm, the
+opposite is not true: qemu-system-aarch64 can only be compiled with Xen support
+enabled when the host is Arm.
+
+Expand the computation of accelerator_targets['CONFIG_XEN'] similar to what is
+already there for KVM, and fix xen_native.h.
+
+Cc: Stefano Stabellini <stefano.stabellini@amd.com>
+Cc: Richard W.M. Jones <rjones@redhat.com>
+Cc: Daniel P. Berrangé <berrange@redhat.com>
+Reported-by: Michael Young <m.a.young@durham.ac.uk>
+Supersedes: <277e21fc78b75ec459efc7f5fde628a0222c63b0.1701989261.git.m.a.young@durham.ac.uk>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+---
+ include/hw/xen/xen_native.h |  2 +-
+ meson.build                 | 17 ++++++++++-------
+ 2 files changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
+index 6f09c48823..1a5ad693a4 100644
+--- a/include/hw/xen/xen_native.h
++++ b/include/hw/xen/xen_native.h
+@@ -532,7 +532,7 @@ static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod,
+ }
+ #endif
+ 
+-#if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41700
++#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 41700
+ #define GUEST_VIRTIO_MMIO_BASE   xen_mk_ullong(0x02000000)
+ #define GUEST_VIRTIO_MMIO_SIZE   xen_mk_ullong(0x00100000)
+ #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
+diff --git a/meson.build b/meson.build
+index d2c4c2adb3..6c77d9687d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -123,21 +123,24 @@ if get_option('kvm').allowed() and targetos == 'linux'
+   kvm_targets_c = '"' + '" ,"'.join(kvm_targets) + '"'
+ endif
+ config_host_data.set('CONFIG_KVM_TARGETS', kvm_targets_c)
+-
+ accelerator_targets = { 'CONFIG_KVM': kvm_targets }
+ 
++if cpu in ['x86', 'x86_64']
++  xen_targets = ['i386-softmmu', 'x86_64-softmmu']
++elif cpu in ['arm', 'aarch64']
++  # i386 emulator provides xenpv machine type for multiple architectures
++  xen_targets = ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu']
++else
++  xen_targets = []
++endif
++accelerator_targets += { 'CONFIG_XEN': xen_targets }
++
+ if cpu in ['aarch64']
+   accelerator_targets += {
+     'CONFIG_HVF': ['aarch64-softmmu']
+   }
+ endif
+ 
+-if cpu in ['x86', 'x86_64', 'arm', 'aarch64']
+-  # i386 emulator provides xenpv machine type for multiple architectures
+-  accelerator_targets += {
+-    'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu'],
+-  }
+-endif
+ if cpu in ['x86', 'x86_64']
+   accelerator_targets += {
+     'CONFIG_HVF': ['x86_64-softmmu'],
+-- 
+2.41.0
+
diff --git a/qemu.spec b/qemu.spec
index 326ffa7..fb3ba1d 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -357,7 +357,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38
 %endif
 
 # To prevent rpmdev-bumpspec breakage
-%global baserelease 0.2
+%global baserelease 0.3
 
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
@@ -373,8 +373,8 @@ Source0: https://download.qemu.org/%{name}-%{version}%{?rcstr}.tar.xz
 # Fix pvh.img ld build failure on fedora rawhide
 Patch: 0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch
 
-# See https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01035.html
-Patch: 0001-fix-qemu-build-with-xen-4.18.0.patch
+# See https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01165.html
+Patch: 0001-xen-fix-condition-for-enabling-the-Xen-accelerator.patch
 
 Source10: qemu-guest-agent.service
 Source11: 99-qemu-guest-agent.rules
@@ -3125,6 +3125,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
 
 
 %changelog
+* Sat Dec  9 2023 Richard W.M. Jones <rjones@redhat.com> - 2:8.2.0-0.3.rc2
+- Further fix for Xen 4.18
+
 * Tue Dec 05 2023 Richard W.M. Jones <rjones@redhat.com> - 2:8.2.0-0.2.rc2
 - Bump and rebuild for xen 4.18.0