diff --git a/.gitignore b/.gitignore
index 6e86933..1d48086 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,3 @@
-SOURCES/fbia32.efi
-SOURCES/fbx64.efi
-SOURCES/mmia32.efi
-SOURCES/mmx64.efi
 SOURCES/shimaa64.efi
 SOURCES/shimia32.efi
 SOURCES/shimx64.efi
diff --git a/.shim.metadata b/.shim.metadata
index 1a350b4..0cbbf98 100644
--- a/.shim.metadata
+++ b/.shim.metadata
@@ -1,7 +1,3 @@
-21ce4720933ec31c6cfd42e514fb847991119021 SOURCES/fbia32.efi
-c14235e6e3a56a68c546c8926cd576cfcf146be9 SOURCES/fbx64.efi
-e8617d7a23490f16f417393246717b12966e2d35 SOURCES/mmia32.efi
-d2dbb8f8a2d701937a8d0547a9b15ea9974eaf33 SOURCES/mmx64.efi
-750bd7932437b1fb6610c233f69db1b70d67fab1 SOURCES/shimaa64.efi
-cc04b4590187538696ce427a9c12af535c74747c SOURCES/shimia32.efi
-ed57e6896e32b745c57c18ccfb7c985c892230bc SOURCES/shimx64.efi
+8ab193ad7addd71e4a820081f36d47e5ef727d28 SOURCES/shimaa64.efi
+c04dd5db5d91e8d1f597f2bfd878f55eba05a125 SOURCES/shimia32.efi
+9a08a40a69ba8ad6292a19aca367d819e875d789 SOURCES/shimx64.efi
diff --git a/SOURCES/BOOTIA32.CSV b/SOURCES/BOOTIA32.CSV
index 9343624..4e658b2 100644
Binary files a/SOURCES/BOOTIA32.CSV and b/SOURCES/BOOTIA32.CSV differ
diff --git a/SOURCES/BOOTX64.CSV b/SOURCES/BOOTX64.CSV
index 77b070b..7692a93 100644
Binary files a/SOURCES/BOOTX64.CSV and b/SOURCES/BOOTX64.CSV differ
diff --git a/SOURCES/fbaa64.efi b/SOURCES/fbaa64.efi
deleted file mode 100644
index e69de29..0000000
--- a/SOURCES/fbaa64.efi
+++ /dev/null
diff --git a/SOURCES/mmaa64.efi b/SOURCES/mmaa64.efi
deleted file mode 100644
index e69de29..0000000
--- a/SOURCES/mmaa64.efi
+++ /dev/null
diff --git a/SOURCES/shim.rpmmacros b/SOURCES/shim.rpmmacros
index 177650f..fa7a833 100644
--- a/SOURCES/shim.rpmmacros
+++ b/SOURCES/shim.rpmmacros
@@ -13,19 +13,9 @@
 %global shimefix64 %{expand:%{SOURCE22}}
 #%%global shimefiarm %%{expand:%%{SOURCE23}
 
-%global fbefiaa64 %{expand:%{SOURCE30}}
-%global fbefiia32 %{expand:%{SOURCE31}}
-%global fbefix64 %{expand:%{SOURCE32}}
-#%%global fbefiarm %%{expand:%%{SOURCE33}
-
-%global mmefiaa64 %{expand:%{SOURCE40}}
-%global mmefiia32 %{expand:%{SOURCE41}}
-%global mmefix64 %{expand:%{SOURCE42}}
-#%%global mmefiarm %%{expand:%%{SOURCE43}
-
 %global shimveraa64 15-7.el8_1
-%global shimveria32 15.5-1.el8
-%global shimverx64 15.5-1.el8
+%global shimveria32 15.6-1.el8
+%global shimverx64 15.6-1.el8
 #%%global shimverarm 15-1.el8
 
 %global shimdiraa64 %{_datadir}/shim/%{shimveraa64}/aa64
@@ -46,10 +36,6 @@
 %global shimveralt %{expand:%{shimver%{?efi_alt_arch}}}
 %global shimdir %{expand:%{shimdir%{efi_arch}}}
 %global shimdiralt %{expand:%{shimdir%{?efi_alt_arch}}}
-%global fbefi %{expand:%{fbefi%{efi_arch}}}
-%global fbefialt %{expand:%{fbefi%{?efi_alt_arch}}}
-%global mmefi %{expand:%{mmefi%{efi_arch}}}
-%global mmefialt %{expand:%{mmefi%{?efi_alt_arch}}}
 
 %global unsignednone shim-unsigned-none
 %global unsigned %{expand:%%{unsigned%{efi_arch}}}
@@ -82,17 +68,15 @@ version signed by the UEFI signing service.				\
 
 # -a <efiarch>
 # -i <input>
-%define hash(a:i:d:)								\
-	if [ 0%{?_unsigned_test_build:%{_unsigned_test_build}} -ne 0 ] ; then	\
-		pesign -i %{-i*} -h -P > shim.hash				\
-		read file0 hash0 < shim.hash					\
-		read file1 hash1 < %{-d*}/shim%{-a*}.hash			\
-		if ! [ "$hash0" = "$hash1" ] ; then				\
-			echo Invalid signature\! > /dev/stderr			\
-			echo $hash0 vs $hash1					\
-			exit 1							\
-		fi								\
-	fi									\
+%define hash(a:i:d:)							\
+	pesign -i %{-i*} -h -P > shim.hash				\
+	read file0 hash0 < shim.hash					\
+	read file1 hash1 < %{-d*}/shim%{-a*}.hash			\
+	if ! [ "$hash0" = "$hash1" ]; then				\
+		echo Invalid signature\! > /dev/stderr			\
+		echo $hash0 vs $hash1					\
+		exit 1							\
+	fi								\
 	%{nil}
 
 # -i <input>
@@ -104,25 +88,9 @@ version signed by the UEFI signing service.				\
 # -b <binary prefix>
 # -a <efiarch>
 # -i <input>
-%define distrosign(b:a:d:)							\
-	if [ 0%{?_unsigned_test_build:%{_unsigned_test_build}} -ne 0 ] ; then	\
-		if [ "%{-b*}%{-a*}" = "shim%{efi_arch}" ] ; then		\
-			cp -av "%{shimefi}" %{-b*}%{-a*}-unsigned.efi		\
-		elif [ "%{-b*}%{-a*}" = "shim%{efi_alt_arch}" ] ; then		\
-			cp -av "%{shimefialt}" %{-b*}%{-a*}-unsigned.efi	\
-		elif [ "%{-b*}%{-a*}" = "mm%{efi_arch}" ] ; then		\
-			cp -av "%{mmefi}" %{-b*}%{-a*}-unsigned.efi		\
-		elif [ "%{-b*}%{-a*}" = "mm%{efi_alt_arch}" ] ; then		\
-			cp -av "%{mmefialt}" %{-b*}%{-a*}-unsigned.efi		\
-		elif [ "%{-b*}%{-a*}" = "fb%{efi_arch}" ] ; then		\
-			cp -av "%{fbefi}" %{-b*}%{-a*}-unsigned.efi		\
-		elif [ "%{-b*}%{-a*}" = "fb%{efi_alt_arch}" ] ; then		\
-			cp -av "%{fbefialt}" %{-b*}%{-a*}-unsigned.efi		\
-		fi								\
-	else									\
-		cp -av %{-d*}/%{-b*}%{-a*}.efi %{-b*}%{-a*}-unsigned.efi	\
-	fi									\
-	%{expand:%%sign -i %{-b*}%{-a*}-unsigned.efi -o %{-b*}%{-a*}-signed.efi -n redhatsecureboot501 -a %{SOURCE2} -c %{SOURCE1} } \
+%define distrosign(b:a:d:)						\
+	cp -av %{-d*}/%{-b*}%{-a*}.efi %{-b*}%{-a*}-unsigned.efi	\
+	%{expand:%%sign -i %{-b*}%{-a*}-unsigned.efi -o %{-b*}%{-a*}-signed.efi -n redhatsecureboot501 -a %{SOURCE2} -c %{SOURCE1} }\
 	%{nil}
 
 # -a <efiarch>
@@ -130,18 +98,16 @@ version signed by the UEFI signing service.				\
 # -b <1|0> # signed by this builder?
 # -c <1|0> # signed by UEFI CA?
 # -i <shimARCH.efi>
-# -d /usr/share dir for this build (full path)
 %define define_build(a:A:b:c:i:d:)					\
 if [ "%{-c*}" = "yes-temporarily-disabled-20180723" ]; then		\
 	%{expand:%%hash -i %{-i*} -a %{-a*} -d %{-d*}}			\
 fi									\
 cp %{-i*} shim%{-a*}.efi						\
-if [ "%{-b*}" = "yes" ] ; then						\
+if [ "%{-b*}" = "yes" ]; then						\
 	%{expand:%%distrosign -b shim -a %{-a*} -d %{-d*}}		\
 	mv shim%{-a*}-signed.efi shim%{-a*}-%{efi_vendor}.efi		\
 fi									\
-if [ "%{-c*}" = "no" ] ||						\
-   [ 0%{?_unsigned_test_build:%{_unsigned_test_build}} -ne 0 ] ; then	\
+if [ "%{-c*}" = "no" ]; then						\
 	cp shim%{-a*}-%{efi_vendor}.efi shim%{-a*}.efi			\
 fi									\
 %{expand:%%distrosign -b mm -a %{-a*} -d %{-d*}}			\
diff --git a/SPECS/shim.spec b/SPECS/shim.spec
index 93cc4ba..4b1439f 100644
--- a/SPECS/shim.spec
+++ b/SPECS/shim.spec
@@ -1,6 +1,6 @@
 Name:		shim
-Version:	15.5
-Release:	2.el8
+Version:	15.6
+Release:	1%{?dist}
 Summary:	First-stage UEFI bootloader
 License:	BSD
 URL:		https://github.com/rhboot/shim/
@@ -21,20 +21,12 @@ Source2:	redhatsecurebootca5.cer
 # match, 1 and 11 match, ...
 Source10:	BOOTAA64.CSV
 Source20:	shimaa64.efi
-Source30:	mmaa64.efi
-Source40:	fbaa64.efi
 Source11:	BOOTIA32.CSV
 Source21:	shimia32.efi
-Source31:	mmia32.efi
-Source41:	fbia32.efi
 Source12:	BOOTX64.CSV
 Source22:	shimx64.efi
-Source32:	mmx64.efi
-Source42:	fbx64.efi
 #Source13:	BOOTARM.CSV
 #Source23:	shimarm.efi
-#Source33:	mmarm.efi
-#Source43:	fbarm.efi
 
 %include %{SOURCE0}
 
@@ -45,8 +37,6 @@ BuildRequires:	pesign >= 0.112-20.fc27
 # (shim 16+) by making the unsigned packages all provide "shim-unsigned", so
 # we can just BuildRequires that.
 %ifarch x86_64
-# BuildRequires:	%% {unsignedx64} = %% {shimverx64}
-# BuildRequires:	%% {unsignedia32} = %% {shimveria32}
 BuildRequires:	%{unsignedx64} = %{shimverx64}
 BuildRequires:	%{unsignedia32} = %{shimveria32}
 %endif
@@ -73,7 +63,6 @@ rm -rf shim-%{version}
 mkdir shim-%{version}
 
 %build
-export PS4='${LINENO}: '
 
 cd shim-%{version}
 %if %{efi_has_alt_arch}
@@ -112,19 +101,9 @@ install -m 0700 %{shimefi} $RPM_BUILD_ROOT%{efi_esp_dir}/shim.efi
 %endif
 
 %changelog
-* Wed Apr 20 2022 Peter Jones <pjones@redhat.com> - 15.5-2.el8
-- Include the actual signed shim binaries.
-  Resolves: rhbz#1970632
-  Resolves: rhbz#1982071
-  Resolves: rhbz#2000946
-  Resolves: rhbz#2002265
-
-* Tue Apr 19 2022 Peter Jones <pjones@redhat.com> - 15.5-1
-- Update to shim-15.5
-  Resolves: rhbz#1970632
-  Resolves: rhbz#1982071
-  Resolves: rhbz#2000946
-  Resolves: rhbz#2002265
+* Mon Jun 06 2022 Peter Jones <pjones@redhat.com> - 15.6-1
+- Update to shim-15.6
+  Resolves: CVE-2022-28737
 
 * Mon Sep 21 2020 Javier Martinez Canillas <javierm@redhat.com> - 15-16
 - Fix an incorrect allocation size