diff --git a/SOURCES/texinfo-6.5-fix-info-dir.patch b/SOURCES/texinfo-6.5-fix-info-dir.patch
new file mode 100644
index 0000000..cdb26f2
--- /dev/null
+++ b/SOURCES/texinfo-6.5-fix-info-dir.patch
@@ -0,0 +1,41 @@
+This fixes two issues:
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1592433
+This is a bug in fix-info-dir --delete
+(Hunk 3)
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1614162
+This is a weird infinite loop that happens when fix-info-dir is run with stderr
+redirected to /dev/null while /dev/null doesn't exist (or isn't a device)
+(Hunks 1 and 2)
+
+diff --git a/contrib/fix-info-dir b/contrib/fix-info-dir
+index 4439ada..9240060 100755
+--- a/contrib/fix-info-dir
++++ b/contrib/fix-info-dir
+@@ -124,6 +124,7 @@ if test "$CREATE_NODE"; then
+ 		fi
+ 		shift
+ 	else
++		SKIP_READ=yes
+ 		SKELETON=/dev/null
+ 
+ 	fi
+@@ -188,7 +189,7 @@ DIR_FILE_END_OF_FILE
+ 
+ 	# Read one line from the file.  This is so that we can echo lines with
+ 	# whitespace and quoted characters in them.
+-	while read fileline; do
++	while test -z "$SKIP_READ" && read fileline; do
+ 		# flag fancy features
+ 		if test ! -z "$echoline"; then        # echo line
+ 			echo "$fileline"
+@@ -294,7 +295,7 @@ else
+ 	DONE_MSG="total invalid menu item(s) were removed from `pwd`/$DIR_FILE"
+ 	for Info_Name in `comm -23 $TMP_FILE1 $TMP_FILE2`; do
+ 		Changed="y"
+-		if install-info --remove $Info_Name $DIR_FILE; then
++		if install-info --remove --remove-exactly $Info_Name $DIR_FILE; then
+ 			Total=`expr "$Total" + "1"`
+ 		fi
+ 	done
diff --git a/SPECS/texinfo.spec b/SPECS/texinfo.spec
index 8d27bdb..b8f3740 100644
--- a/SPECS/texinfo.spec
+++ b/SPECS/texinfo.spec
@@ -3,7 +3,7 @@
 Summary: Tools needed to create Texinfo format documentation files
 Name: texinfo
 Version: 6.5
-Release: 6%{?dist}
+Release: 7%{?dist}
 License: GPLv3+
 Url: http://www.gnu.org/software/texinfo/
 Source0: ftp://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz
@@ -19,6 +19,8 @@ Patch2: texinfo-6.1-install-info-use-create-tmp-then-rename-pattern.patch
 Patch3: info-6.5-sync-fix-info-dir.patch
 # Patch4: fixes issues detected by static analysis
 Patch4: texinfo-6.5-covscan-fixes.patch
+# Patch5: rhbz#2022201, fixes a loop when /dev/null doesn't exist
+Patch5: texinfo-6.5-fix-info-dir.patch
 BuildRequires: gcc
 BuildRequires: perl-generators
 BuildRequires: zlib-devel, ncurses-devel, help2man, perl(Data::Dumper)
@@ -144,6 +146,10 @@ export ALL_TESTS=yes
 %{_mandir}/man1/pdftexi2dvi.1*
 
 %changelog
+* Mon Jan 17 2022 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.5-7
+- Fix a loop in fix-info-dir when /dev/null doesn't exist
+  Resolves: #2022201
+
 * Thu Jan 09 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.5-6
 - Fix file mode for dir.old (fixes failing rpm -V info)
   Related: #1708912