diff --git a/.gitignore b/.gitignore
index e7a0c1d..baf20c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/microcode-20190514a.tar.gz
+SOURCES/microcode-20190618.tar.gz
 SOURCES/microcode_ctl-2.1-18.tar.xz
diff --git a/.microcode_ctl.metadata b/.microcode_ctl.metadata
index cf85c46..299691c 100644
--- a/.microcode_ctl.metadata
+++ b/.microcode_ctl.metadata
@@ -1,2 +1,2 @@
-252f56e1e1e6dc491813cb649c5c83fe1ff1c122 SOURCES/microcode-20190514a.tar.gz
+8484c44d39a2700fb568ccc67a8e1ed8877878a5 SOURCES/microcode-20190618.tar.gz
 3959afc5d69a916a730131ce0f768db263e9e4f1 SOURCES/microcode_ctl-2.1-18.tar.xz
diff --git a/SOURCES/microcode_ctl-use-microcode-20190514a-tgz.patch b/SOURCES/microcode_ctl-use-microcode-20190514a-tgz.patch
deleted file mode 100644
index 7da021f..0000000
--- a/SOURCES/microcode_ctl-use-microcode-20190514a-tgz.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: microcode_ctl-2.1-18/Makefile
-===================================================================
---- microcode_ctl-2.1-18.orig/Makefile	2018-07-24 09:15:12.463115045 +0200
-+++ microcode_ctl-2.1-18/Makefile	2018-08-09 06:18:45.524503945 +0200
-@@ -8,7 +8,7 @@
- # 2 of the License, or (at your option) any later version.
- 
- PROGRAM         = intel-microcode2ucode
--MICROCODE_INTEL = microcode-20180703.tgz
-+MICROCODE_INTEL = microcode-20190514a.tar.gz
- 
- INS             = install
- CC              = gcc
diff --git a/SOURCES/microcode_ctl-use-microcode-20190618-tgz.patch b/SOURCES/microcode_ctl-use-microcode-20190618-tgz.patch
new file mode 100644
index 0000000..bf47edf
--- /dev/null
+++ b/SOURCES/microcode_ctl-use-microcode-20190618-tgz.patch
@@ -0,0 +1,13 @@
+Index: microcode_ctl-2.1-18/Makefile
+===================================================================
+--- microcode_ctl-2.1-18.orig/Makefile	2018-07-24 09:15:12.463115045 +0200
++++ microcode_ctl-2.1-18/Makefile	2018-08-09 06:18:45.524503945 +0200
+@@ -8,7 +8,7 @@
+ # 2 of the License, or (at your option) any later version.
+ 
+ PROGRAM         = intel-microcode2ucode
+-MICROCODE_INTEL = microcode-20180703.tgz
++MICROCODE_INTEL = microcode-20190618.tar.gz
+ 
+ INS             = install
+ CC              = gcc
diff --git a/SPECS/microcode_ctl.spec b/SPECS/microcode_ctl.spec
index 11b51a3..8730ba2 100644
--- a/SPECS/microcode_ctl.spec
+++ b/SPECS/microcode_ctl.spec
@@ -1,5 +1,5 @@
 %define upstream_version 2.1-18
-%define intel_ucode_version 20190514a
+%define intel_ucode_version 20190618
 %define intel_ucode_file_id 28727
 %define microcode_ctl_libexec %{_libexecdir}/microcode_ctl
 %define update_ucode %{microcode_ctl_libexec}/update_ucode
@@ -11,7 +11,7 @@
 Summary:        Tool to transform and deploy CPU microcode update for x86.
 Name:           microcode_ctl
 Version:        2.1
-Release:        47.4%{?dist}
+Release:        47.5%{?dist}
 Epoch:          2
 Group:          System Environment/Base
 License:        GPLv2+ and Redistributable, no modification permitted
@@ -187,47 +187,50 @@ if [ -d /run/systemd/system -a -e "/boot/symvers-$(uname -r).gz" ]; then
 	dracut -f
 fi
 
+%global rpm_state_dir %{_localstatedir}/lib/rpm-state
+
+
 %preun
 %systemd_preun microcode.service
 
 # Storing ucode list before uninstall
 ls /usr/share/microcode_ctl/intel-ucode |
-	sort > "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode"
+	sort > "%{rpm_state_dir}/microcode_ctl_un_intel-ucode"
 ls /usr/share/microcode_ctl/ucode_with_caveats |
-	sort > "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats"
+	sort > "%{rpm_state_dir}/microcode_ctl_un_ucode_caveats"
 %{update_ucode} --action list --skip-common |
-	sort > "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_file_list"
+	sort > "%{rpm_state_dir}/microcode_ctl_un_file_list"
 
 %postun
 %systemd_postun microcode.service
 
 ls /usr/share/microcode_ctl/intel-ucode 2> /dev/null |
-	sort > "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode_after"
+	sort > "%{rpm_state_dir}/microcode_ctl_un_intel-ucode_after"
 comm -23 \
-	"%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode" \
-	"%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode_after" \
-	> "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode_diff"
+	"%{rpm_state_dir}/microcode_ctl_un_intel-ucode" \
+	"%{rpm_state_dir}/microcode_ctl_un_intel-ucode_after" \
+	> "%{rpm_state_dir}/microcode_ctl_un_intel-ucode_diff"
 
 if [ -e "%{update_ucode}" ]; then
 	ls /usr/share/microcode_ctl/ucode_with_caveats 2> /dev/null |
-		sort > "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats_after"
+		sort > "%{rpm_state_dir}/microcode_ctl_un_ucode_caveats_after"
 
 	comm -23 \
-		"%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats" \
-		"%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats_after" \
-		> "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats_diff"
+		"%{rpm_state_dir}/microcode_ctl_un_ucode_caveats" \
+		"%{rpm_state_dir}/microcode_ctl_un_ucode_caveats_after" \
+		> "%{rpm_state_dir}/microcode_ctl_un_ucode_caveats_diff"
 
 	%{update_ucode} --action remove --cleanup \
-		"%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode_diff" \
-		"%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats_diff" || exit 0
+		"%{rpm_state_dir}/microcode_ctl_un_intel-ucode_diff" \
+		"%{rpm_state_dir}/microcode_ctl_un_ucode_caveats_diff" || exit 0
 
-	rm -f "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats_after"
-	rm -f "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats_diff"
+	rm -f "%{rpm_state_dir}/microcode_ctl_un_ucode_caveats_after"
+	rm -f "%{rpm_state_dir}/microcode_ctl_un_ucode_caveats_diff"
 else
 	while read -r f; do
 		[ -L "/lib/firmware/intel-ucode/$f" ] || continue
 		rm -f "/lib/firmware/intel-ucode/$f"
-	done < "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode_diff"
+	done < "%{rpm_state_dir}/microcode_ctl_un_intel-ucode_diff"
 
 	rmdir "/lib/firmware/intel-ucode" 2>/dev/null || :
 
@@ -238,16 +241,16 @@ else
 			rm -f "$f"
 			rmdir -p $(dirname "$f") 2>/dev/null || :
 		fi
-	done < "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_file_list"
+	done < "%{rpm_state_dir}/microcode_ctl_un_file_list"
 fi
 
-rm -f "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode"
-rm -f "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode_after"
-rm -f "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_intel-ucode_diff"
+rm -f "%{rpm_state_dir}/microcode_ctl_un_intel-ucode"
+rm -f "%{rpm_state_dir}/microcode_ctl_un_intel-ucode_after"
+rm -f "%{rpm_state_dir}/microcode_ctl_un_intel-ucode_diff"
 
-rm -f "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_ucode_caveats"
+rm -f "%{rpm_state_dir}/microcode_ctl_un_ucode_caveats"
 
-rm -f "%{_localstatedir}/lib/rpm-state/microcode_ctl_un_file_list"
+rm -f "%{rpm_state_dir}/microcode_ctl_un_file_list"
 
 
 exit 0
@@ -275,6 +278,10 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Wed Jun 19 2019 Eugene Syromiatnikov <esyr@redhat.com> - 2:2.1-47.5
+- Intel CPU microcode update to 20190618.
+- Resolves: #1722575.
+
 * Sun Jun 02 2019 Eugene Syromiatnikov <esyr@redhat.com> - 2:2.1-47.4
 - Remove disclaimer, as it is not as important now to justify kmsg/log
   pollution; its contents are partially adopted in README.caveats.