diff --git a/32bit-fix.patch b/32bit-fix.patch
new file mode 100644
index 0000000..aa1ab18
--- /dev/null
+++ b/32bit-fix.patch
@@ -0,0 +1,32 @@
+From 0d49ef856846eac919725ad0278451e94c78d9ff Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobinso@redhat.com>
+Date: Mon, 1 Mar 2021 13:15:37 -0500
+Subject: [PATCH] hyperv: Fix 32bit compilation
+
+Signed-off-by: Cole Robinson <crobinso@redhat.com>
+---
+ src/hyperv/hyperv_driver.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c
+index 701456cdb3..e4f537bd12 100644
+--- a/src/hyperv/hyperv_driver.c
++++ b/src/hyperv/hyperv_driver.c
+@@ -3004,7 +3004,7 @@ hypervDomainDefineXML(virConnectPtr conn, const char *xml)
+     /* Attach serials */
+     for (i = 0; i < def->nserials; i++) {
+         if (hypervDomainAttachSerial(domain, def->serials[i]) < 0) {
+-            virReportError(VIR_ERR_INTERNAL_ERROR, _("Could not attach serial port %lu"), i);
++            virReportError(VIR_ERR_INTERNAL_ERROR, _("Could not attach serial port %zu"), i);
+             goto error;
+         }
+     }
+@@ -3012,7 +3012,7 @@ hypervDomainDefineXML(virConnectPtr conn, const char *xml)
+     /* Attach networks */
+     for (i = 0; i < def->nnets; i++) {
+         if (hypervDomainAttachSyntheticEthernetAdapter(domain, def->nets[i], hostname) < 0) {
+-            virReportError(VIR_ERR_INTERNAL_ERROR, _("Could not attach network %lu"), i);
++            virReportError(VIR_ERR_INTERNAL_ERROR, _("Could not attach network %zu"), i);
+             goto error;
+         }
+     }
diff --git a/libvirt.spec b/libvirt.spec
index 2db809a..a3f1a9c 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -227,6 +227,7 @@ URL: https://libvirt.org/
     %define mainturl stable_updates/
 %endif
 Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
+Patch1: 32bit-fix.patch
 
 Requires: libvirt-daemon = %{version}-%{release}
 Requires: libvirt-daemon-config-network = %{version}-%{release}