diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 31c02df..046f80c 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -421,7 +421,7 @@
 
 def _cleanup():
     for inst in _active[:]:
-        if inst.poll(_deadstate=sys.maxint) >= 0:
+        if inst._internal_poll(_deadstate=sys.maxint) >= 0:
             try:
                 _active.remove(inst)
             except ValueError:
@@ -634,7 +634,7 @@
             # We didn't get to successfully create a child process.
             return
         # In case the child hasn't been waited on, check if it's done.
-        self.poll(_deadstate=sys.maxint)
+        self._internal_poll(_deadstate=sys.maxint)
         if self.returncode is None and _active is not None:
             # Child is still running, keep us alive until we can wait on it.
             _active.append(self)
@@ -670,6 +670,10 @@
         return self._communicate(input)
 
 
+    def poll(self):
+        return self._internal_poll()
+
+
     if mswindows:
         #
         # Windows methods
@@ -843,7 +847,7 @@
                 errwrite.Close()
 
 
-        def poll(self, _deadstate=None):
+        def _internal_poll(self, _deadstate=None):
             """Check if child process has terminated.  Returns returncode
             attribute."""
             if self.returncode is None:
@@ -1103,7 +1107,7 @@
                 raise RuntimeError("Unknown child exit status!")
 
 
-        def poll(self, _deadstate=None):
+        def _internal_poll(self, _deadstate=None):
             """Check if child process has terminated.  Returns returncode
             attribute."""
             if self.returncode is None:
diff --git a/Misc/NEWS b/Misc/NEWS
index c74072e..8466967 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -126,6 +126,10 @@
   in the common case when the data is returned from the underlying socket
   in increments much smaller than bignumber.
 
+- Issue #1857: subprocess.Popen.poll gained an additional _deadstate keyword
+  argument in python 2.5, this broke code that subclassed Popen to include its
+  own poll method.  Fixed my moving _deadstate to an _internal_poll method.
+
 Extension Modules
 -----------------
 
