diff --git a/Lib/os.py b/Lib/os.py
index 60dc12f..02e8f14 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -387,13 +387,13 @@
 
     try:
         path_list = env.get('PATH')
-    except TypeError:
+    except (TypeError, BytesWarning):
         path_list = None
 
     if supports_bytes_environ:
         try:
             path_listb = env[b'PATH']
-        except (KeyError, TypeError):
+        except (KeyError, TypeError, BytesWarning):
             pass
         else:
             if path_list is not None:
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 4910b1e..710a3f4 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -450,8 +450,12 @@
 
         if os.supports_bytes_environ:
             # env cannot contain 'PATH' and b'PATH' keys
-            self.assertRaises(ValueError,
-                os.get_exec_path, {'PATH': '1', b'PATH': b'2'})
+            try:
+                mixed_env = {'PATH': '1', b'PATH': b'2'}
+            except BytesWarning:
+                pass
+            else:
+                self.assertRaises(ValueError, os.get_exec_path, mixed_env)
 
             # bytes key and/or value
             self.assertSequenceEqual(os.get_exec_path({b'PATH': b'abc'}),
@@ -723,7 +727,10 @@
         # os.get_exec_path() reads the 'PATH' variable
         with _execvpe_mockup() as calls:
             env_path = env.copy()
-            env_path['PATH'] = program_path
+            if test_type is bytes:
+                env_path[b'PATH'] = program_path
+            else:
+                env_path['PATH'] = program_path
             self.assertRaises(OSError,
                 os._execvpe, program, arguments, env=env_path)
             self.assertEqual(len(calls), 1)
