diff --git a/Lib/test/output/test_subprocess b/Lib/test/output/test_subprocess
deleted file mode 100644
index effbcf0..0000000
--- a/Lib/test/output/test_subprocess
+++ /dev/null
@@ -1,2 +0,0 @@
-test_subprocess
-.........
\ No newline at end of file
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 6f498b8..c4bc3d0 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -56,7 +56,7 @@
 
     def test_stdout_none(self):
         # .stdout is None when not redirected
-        p = subprocess.Popen([sys.executable, "-c", 
+        p = subprocess.Popen([sys.executable, "-c",
                              'print "    this bit of output is from a '
                              'test of stdout in a different '
                              'process ..."'],
@@ -350,11 +350,16 @@
 
     def test_poll(self):
         p = subprocess.Popen([sys.executable,
-                          "-c", "import time; time.sleep(4)"])
-        while p.poll() == None:
-            sys.stdout.write(".")
-            sys.stdout.flush()
-            time.sleep(0.5)
+                          "-c", "import time; time.sleep(1)"])
+        count = 0
+        while p.poll() is None:
+            time.sleep(0.1)
+            count += 1
+        # We expect that the poll loop probably went around about 10 times,
+        # but, based on system scheduling we can't control, it's possible
+        # poll() never returned None.  It "should be" very rare that it
+        # didn't go around at least twice.
+        self.assert_(count >= 2)
         # Subsequent invocations should just return the returncode
         self.assertEqual(p.poll(), 0)
 
