diff --git a/2ad2a50a832140edfb49a95384e35bcf7a034acf.patch b/2ad2a50a832140edfb49a95384e35bcf7a034acf.patch
new file mode 100644
index 0000000..ec79c44
--- /dev/null
+++ b/2ad2a50a832140edfb49a95384e35bcf7a034acf.patch
@@ -0,0 +1,36 @@
+From 2ad2a50a832140edfb49a95384e35bcf7a034acf Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Thu, 11 Mar 2021 21:49:44 +0100
+Subject: [PATCH] syscall: disable epoll_pwait2() for now on 32bit
+
+Alternative to #18973.
+---
+ src/basic/missing_syscall.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
+index 13843248045..8bbe4d28847 100644
+--- a/src/basic/missing_syscall.h
++++ b/src/basic/missing_syscall.h
+@@ -407,6 +407,13 @@ static inline int missing_epoll_pwait2(
+                 const sigset_t *sigset) {
+ 
+ #  if defined(__NR_epoll_pwait2) && HAVE_LINUX_TIME_TYPES_H
++#    if __SIZEOF_LONG__ == 4
++        /* Someone with an interest in 32bit systems, please have a look at this, and figure out why
++         * this hangs on 32bit systems. My educated guess: might be because of issues with the
++         * __kernel_timespec translation or because of incorrectly sized sigset_t array. */
++        errno = ENOSYS;
++        return -1;
++#    else
+         if (timeout) {
+                 /* Convert from userspace timespec to kernel timespec */
+                 struct __kernel_timespec ts = {
+@@ -417,6 +424,7 @@ static inline int missing_epoll_pwait2(
+                 return syscall(__NR_epoll_pwait2, fd, events, maxevents, &ts, sigset, sigset ? KERNEL_NSIG_BYTES : 0);
+         } else
+                 return syscall(__NR_epoll_pwait2, fd, events, maxevents, NULL, sigset, sigset ? KERNEL_NSIG_BYTES : 0);
++#    endif
+ #  else
+         errno = ENOSYS;
+         return -1;
diff --git a/4cbb372cd734d9e3e125a42b12a9e71caf1632a6.patch b/4cbb372cd734d9e3e125a42b12a9e71caf1632a6.patch
deleted file mode 100644
index 6062599..0000000
--- a/4cbb372cd734d9e3e125a42b12a9e71caf1632a6.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4cbb372cd734d9e3e125a42b12a9e71caf1632a6 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Thu, 11 Mar 2021 21:49:44 +0100
-Subject: [PATCH] syscall: disable epoll_pwait2() for now on 32bit
-
-Alternative to #18973.
----
- src/basic/missing_syscall.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
-index 13843248045..8158a75a78d 100644
---- a/src/basic/missing_syscall.h
-+++ b/src/basic/missing_syscall.h
-@@ -407,6 +407,13 @@ static inline int missing_epoll_pwait2(
-                 const sigset_t *sigset) {
- 
- #  if defined(__NR_epoll_pwait2) && HAVE_LINUX_TIME_TYPES_H
-+#    if __SIZEOF_LONG__ == 4
-+// Someone with an interest in 32bit systems, please have a look at this, and figure out why this hangs on 32bit systems.
-+// My educated guess: might be because of issues with the __kernel_timespec translation or because of incorrectly sized sigset_t array.
-+#      pragma message "epoll_pwait2() appears to be broken on 32bit archs, someone please have a look!"
-+        errno = ENOSYS;
-+        return -1;
-+#    else
-         if (timeout) {
-                 /* Convert from userspace timespec to kernel timespec */
-                 struct __kernel_timespec ts = {
-@@ -417,6 +424,7 @@ static inline int missing_epoll_pwait2(
-                 return syscall(__NR_epoll_pwait2, fd, events, maxevents, &ts, sigset, sigset ? KERNEL_NSIG_BYTES : 0);
-         } else
-                 return syscall(__NR_epoll_pwait2, fd, events, maxevents, NULL, sigset, sigset ? KERNEL_NSIG_BYTES : 0);
-+#    endif
- #  else
-         errno = ENOSYS;
-         return -1;
diff --git a/systemd.spec b/systemd.spec
index ba8f25e..a8d7607 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -71,8 +71,8 @@ GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[
 %endif
 
 # Backports of patches from upstream (0000–0499)
-# https://github.com/systemd/systemd/pull/18975
-Patch0502:      https://github.com/systemd/systemd/pull/18975/commits/4cbb372cd734d9e3e125a42b12a9e71caf1632a6.patch
+# https://github.com/systemd/systemd/pull/19042
+Patch0502:      https://github.com/systemd/systemd/pull/19042/commits/2ad2a50a832140edfb49a95384e35bcf7a034acf.patch
 
 # Downstream-only patches (5000–9999)
 # https://bugzilla.redhat.com/show_bug.cgi?id=1738828