diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index a3e2770..9983711 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -1052,8 +1052,8 @@
    .. versionchanged:: 3.4
       In Python versions earlier than 3.4, this function could also be passed a
       text level, and would return the corresponding numeric value of the level.
-      This undocumented behaviour was a mistake, and has been removed in Python
-      3.4.
+      This undocumented behaviour was considered a mistake, and was removed in
+      Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility.
 
 .. function:: makeLogRecord(attrdict)
 
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index a61c2b0..7fb3a35 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -129,7 +129,8 @@
 
     Otherwise, the string "Level %s" % level is returned.
     """
-    return _levelToName.get(level, ("Level %s" % level))
+    # See Issue #22386 for the reason for this convoluted expression
+    return _levelToName.get(level, _nameToLevel.get(level, ("Level %s" % level)))
 
 def addLevelName(level, levelName):
     """
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 6f6dd18..d5aec9a 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -313,6 +313,10 @@
             ('INF.BADPARENT', 'INFO', '4'),
         ])
 
+    def test_regression_22386(self):
+        """See issue #22386 for more information."""
+        self.assertEqual(logging.getLevelName('INFO'), logging.INFO)
+        self.assertEqual(logging.getLevelName(logging.INFO), 'INFO')
 
 class BasicFilterTest(BaseTest):
 
