diff --git a/Lib/os.py b/Lib/os.py
index 5dce0c1..a59c5df 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -643,7 +643,13 @@
         self._proc = proc
     def close(self):
         self._stream.close()
-        return self._proc.wait() << 8  # Shift left to match old behavior
+        returncode = self._proc.wait()
+        if returncode == 0:
+            return None
+        if name == 'nt':
+            return returncode
+        else:
+            return returncode << 8  # Shift left to match old behavior
     def __getattr__(self, name):
         return getattr(self._stream, name)
     def __iter__(self):
diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py
index d728792..99ad41d 100644
--- a/Lib/test/test_popen.py
+++ b/Lib/test/test_popen.py
@@ -42,6 +42,13 @@
         )
         support.reap_children()
 
+    def test_return_code(self):
+        self.assertEqual(os.popen("exit 0").close(), None)
+        if os.name == 'nt':
+            self.assertEqual(os.popen("exit 42").close(), 42)
+        else:
+            self.assertEqual(os.popen("exit 42").close(), 42 << 8)
+
 def test_main():
     support.run_unittest(PopenTest)
 
diff --git a/Misc/NEWS b/Misc/NEWS
index e1dba94..8ef3566 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -34,6 +34,9 @@
 Library
 -------
 
+- Issue #6358: The exit status of a command started with os.popen() was
+  reported differently than it did with python 2.x.
+
 - Issue #6323: The pdb debugger did not exit when running a script with a
   syntax error.
 
