diff --git a/Lib/os.py b/Lib/os.py
index 5c80e67..cdc2a66 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -382,18 +382,32 @@
     *env* must be an environment variable dict or None.  If *env* is None,
     os.environ will be used.
     """
+    # Use a local import instead of a global import to avoid bootstrap issue:
+    # the os module is used to build Python extensions.
+    import warnings
+
     if env is None:
         env = environ
 
     try:
-        path_list = env.get('PATH')
+        # ignore BytesWarning warning
+        with warnings.catch_warnings(record=True):
+            path_list = env.get('PATH')
     except (TypeError, BytesWarning):
+        # A BytesWarning here means that env has a b'PATH' key, but no 'PATH'
+        # key. Compare bytes and str raises a BytesWarning exception only if
+        # sys.flags.bytes_warning==2, and in this case it is not possible to
+        # create a dictionary with both keys.
         path_list = None
 
     if supports_bytes_environ:
         try:
-            path_listb = env[b'PATH']
+            # ignore BytesWarning warning
+            with warnings.catch_warnings(record=True):
+                path_listb = env[b'PATH']
         except (KeyError, TypeError, BytesWarning):
+            # A BytesWarning here means that env has a 'PATH' key, but no
+            # b'PATH' key. See the comment above for an explaination.
             pass
         else:
             if path_list is not None:
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index e413e1f..73261e0 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -461,8 +461,11 @@
         if os.supports_bytes_environ:
             # env cannot contain 'PATH' and b'PATH' keys
             try:
-                mixed_env = {'PATH': '1', b'PATH': b'2'}
+                # ignore BytesWarning warning
+                with warnings.catch_warnings(record=True):
+                    mixed_env = {'PATH': '1', b'PATH': b'2'}
             except BytesWarning:
+                # mixed_env cannot be created with python -bb
                 pass
             else:
                 self.assertRaises(ValueError, os.get_exec_path, mixed_env)
