diff --git a/Lib/os.py b/Lib/os.py
index 59c3895..c804c3a 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -454,3 +454,16 @@
         return spawnvpe(mode, file, args[:-1], env)
 
 
+if not _exists("popen2"):
+    def popen2(cmd, mode="t", bufsize=-1):
+        assert mode[:1] in ("b", "t")
+        import popen2
+        stdout, stdin = popen2.popen2(cmd, bufsize)
+        return stdin, stdout
+
+if not _exists("popen3"):
+    def popen3(cmd, mode="t", bufsize=-1):
+        assert mode[:1] in ("b", "t")
+        import popen2
+        stdout, stdin, stderr = popen2.popen3(cmd, bufsize)
+        return stdin, stdout, stderr
diff --git a/Lib/popen2.py b/Lib/popen2.py
index 2fd9a19..e0f2880 100644
--- a/Lib/popen2.py
+++ b/Lib/popen2.py
@@ -89,7 +89,8 @@
             _active.remove(self)
         return self.sts
 
-if hasattr(os, "popen2"):
+
+if sys.platform[:3] == "win":
     def popen2(cmd, mode='t', bufsize=-1):
         """Execute the shell command 'cmd' in a sub-process.  If 'bufsize' is
         specified, it sets the buffer size for the I/O pipes.  The file objects
@@ -109,7 +110,7 @@
         inst = Popen3(cmd, 0, bufsize)
         return inst.fromchild, inst.tochild
 
-if hasattr(os, "popen3"):
+if sys.platform[:3] == "win":
     def popen3(cmd, mode='t', bufsize=-1):
         """Execute the shell command 'cmd' in a sub-process.  If 'bufsize' is
         specified, it sets the buffer size for the I/O pipes.  The file objects
@@ -129,7 +130,7 @@
         inst = Popen3(cmd, 1, bufsize)
         return inst.fromchild, inst.tochild, inst.childerr
 
-if hasattr(os, "popen4"):
+if sys.platform[:3] == "win":
     def popen4(cmd, mode='t', bufsize=-1):
         """Execute the shell command 'cmd' in a sub-process.  If 'bufsize' is
         specified, it sets the buffer size for the I/O pipes.  The file objects
@@ -139,6 +140,7 @@
 else:
     pass # not yet on unix
 
+
 def _test():
     cmd  = "cat"
     teststr = "abc\n"
diff --git a/Lib/test/output/test_popen2 b/Lib/test/output/test_popen2
index 1fadf1b..a66cde9 100644
--- a/Lib/test/output/test_popen2
+++ b/Lib/test/output/test_popen2
@@ -1,4 +1,9 @@
 test_popen2
+Test popen2 module:
+testing popen2...
+testing popen3...
+All OK
+Testing os module:
 testing popen2...
 testing popen3...
 All OK
diff --git a/Lib/test/test_popen2.py b/Lib/test/test_popen2.py
index f6359ce..26ef9d9 100644
--- a/Lib/test/test_popen2.py
+++ b/Lib/test/test_popen2.py
@@ -3,12 +3,15 @@
    Christian Tismer
 """
 
+import os
+
 # popen2 contains its own testing routine
 # which is especially useful to see if open files
 # like stdin can be read successfully by a forked
 # subprocess.
 
 def main():
+    print "Test popen2 module:"
     try:
         from os import popen
     except ImportError:
@@ -19,5 +22,35 @@
     import popen2
     popen2._test()
 
-main()
 
+def _test():
+    # same test as popen2._test(), but using the os.popen*() API
+    print "Testing os module:"
+    import popen2
+    cmd  = "cat"
+    teststr = "abc\n"
+    resultstr = teststr
+    if os.name == "nt":
+        cmd = "more"
+        resultstr = "\n" + resultstr
+    print "testing popen2..."
+    w, r = os.popen2(cmd)
+    w.write(teststr)
+    w.close()
+    assert r.read() == resultstr
+    print "testing popen3..."
+    try:
+        w, r, e = os.popen3([cmd])
+    except:
+        w, r, e = os.popen3(cmd)
+    w.write(teststr)
+    w.close()
+    assert r.read() == resultstr
+    assert e.read() == ""
+    for inst in popen2._active[:]:
+        inst.wait()
+    assert not popen2._active
+    print "All OK"
+
+main()
+_test()
