diff --git a/23352.patch b/23352.patch
deleted file mode 100644
index c4c9ac3..0000000
--- a/23352.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8b0ebe3aa21fc343e435b7ff72cbf8565149ef00 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Thu, 12 May 2022 04:11:37 +0900
-Subject: [PATCH] sd-device-enumerator: fix inverted return value of
- match_initialized()
-
-Fixes a bug introduced by d8b50e5df7e01983279e70c6d970fb60d053df97.
-
-Fixes https://github.com/systemd/systemd/pull/22662#issuecomment-1124163773.
-Fixes RHBZ#2083374 (https://bugzilla.redhat.com/show_bug.cgi?id=2083374).
----
- src/libsystemd/sd-device/device-enumerator.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c
-index 3af9e36a5a52..39f769c35cf6 100644
---- a/src/libsystemd/sd-device/device-enumerator.c
-+++ b/src/libsystemd/sd-device/device-enumerator.c
-@@ -537,12 +537,12 @@ static int match_initialized(sd_device_enumerator *enumerator, sd_device *device
-                         return true;
- 
-                 if (sd_device_get_devnum(device, NULL) >= 0)
--                        return true;
-+                        return false;
- 
-                 if (sd_device_get_ifindex(device, NULL) >= 0)
--                        return true;
-+                        return false;
- 
--                return false;
-+                return true;
-         }
- 
-         return (enumerator->match_initialized == MATCH_INITIALIZED_NO) == (r == 0);
diff --git a/sources b/sources
index 68ed322..0d9b043 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (systemd-251-rc2.tar.gz) = 09f1d558afe368710adbed1c21d78e7538bdf3eb4fefa4633086fe12763eaa772a87af69cf0fe04689a34cde246541726ae5b18701f6bf39c046ed2971fb414d
+SHA512 (systemd-251-rc3.tar.gz) = a87d6cb6feb425e8677a93ddce72ba4b6970416970626933e9a8d772c19f85f9974ed7417cda0b666ae0ae5530fbbe9bf8e3a23d741563bc42d1e5b30e7f4bb4
diff --git a/systemd.spec b/systemd.spec
index 1645451..ea7b755 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -30,8 +30,8 @@
 Name:           systemd
 Url:            https://www.freedesktop.org/wiki/Software/systemd
 %if %{without inplace}
-Version:        251~rc2
-Release:        2%{?dist}
+Version:        251~rc3
+Release:        1%{?dist}
 %else
 # determine the build information from local checkout
 Version:        %(tools/meson-vcs-tag.sh . error | sed -r 's/-([0-9])/.^\1/; s/-g/_g/')
@@ -91,10 +91,6 @@ GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[
 # than in the next section. Packit CI will drop any patches in this range before
 # applying upstream pull requests.
 
-# https://bugzilla.redhat.com/show_bug.cgi?id=2083374
-# https://github.com/systemd/systemd/pull/23352
-# udev: don't report network devices before interface rename
-Patch0001:      23352.patch
 
 # This is a downstream-only patch, but we don't want it in packit builds.
 # https://bugzilla.redhat.com/show_bug.cgi?id=1738828
@@ -1023,6 +1019,10 @@ fi
 %files standalone-sysusers -f .file-list-standalone-sysusers
 
 %changelog
+* Mon May 16 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 251~rc3-1
+- Update to latest upstream prerelease (just various bugfixes)
+- Udev rule processing should be now fixed (#2076459)
+
 * Wed May 11 2022 Adam Williamson <awilliam@redhat.com> - 251~rc2-2
 - Backport #23352 to fix RHBZ #2083374
 
diff --git a/use-bfq-scheduler.patch b/use-bfq-scheduler.patch
index f8b2aaa..2eb1229 100644
--- a/use-bfq-scheduler.patch
+++ b/use-bfq-scheduler.patch
@@ -1,4 +1,4 @@
-From e0af3560ca9b1515e0680919733a09914d3325ab Mon Sep 17 00:00:00 2001
+From 8a38bc402c8f7c656c7e356c37c432c7b3a8cd6f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
 Date: Wed, 14 Aug 2019 15:57:42 +0200
 Subject: [PATCH] udev: use bfq as the default scheduler
@@ -27,14 +27,14 @@ index 0000000000..480b941761
 +  KERNEL=="mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|sd*[!0-9]|sr*", \
 +  ATTR{queue/scheduler}="bfq"
 diff --git a/rules.d/meson.build b/rules.d/meson.build
-index e6533e001a..bfa26904d0 100644
+index a582e4e922..d300c382fc 100644
 --- a/rules.d/meson.build
 +++ b/rules.d/meson.build
-@@ -7,6 +7,7 @@ install_data(
- rules = files(
-         '60-autosuspend.rules',
-         '60-block.rules',
-+        '60-block-scheduler.rules',
-         '60-cdrom_id.rules',
-         '60-drm.rules',
-         '60-evdev.rules',
+@@ -8,6 +8,7 @@ rules = [
+         [files('60-autosuspend.rules',
+                '60-block.rules',
+                '60-cdrom_id.rules',
++               '60-block-scheduler.rules',
+                '60-drm.rules',
+                '60-evdev.rules',
+                '60-fido-id.rules',