diff --git a/Doc/lib/libasyncore.tex b/Doc/lib/libasyncore.tex
index f466fa6..89c7178 100644
--- a/Doc/lib/libasyncore.tex
+++ b/Doc/lib/libasyncore.tex
@@ -44,20 +44,20 @@
 service) is closed.
 
 \begin{funcdesc}{loop}{\optional{timeout\optional{, use_poll\optional{,
-                       map\optional{,count}}}}}
-  Enter a polling loop that terminates after count passes or all open
-  channels have been closed.  All arguments are optional.  The \var(count)
-  parameter defaults to infinity, resulting in the loop terminating only
-  when all channels have been closed.  The \var{timeout} argument sets the
-  timeout parameter for the appropriate \function{select()} or
-  \function{poll()} call, measured in seconds; the default is 30 seconds.
-  The \var{use_poll} parameter, if true, indicates that \function{poll()}
-  should be used in preference to \function{select()} (the default is
-  \code{False}).  The \var{map} parameter is a dictionary whose items are
-  the channels to watch.  As channels are closed they are deleted from their
-  map.  If \var{map} is omitted, a global map is used (this map is updated
-  by the default class \method{__init__()} -- make sure you extend, rather
-  than override, \method{__init__()} if you want to retain this behavior).
+                       map}}}}
+  Enter a polling loop that only terminates after all open channels
+  have been closed.  All arguments are optional.  The \var{timeout}
+  argument sets the timeout parameter for the appropriate
+  \function{select()} or \function{poll()} call, measured in seconds;
+  the default is 30 seconds.  The \var{use_poll} parameter, if true,
+  indicates that \function{poll()} should be used in preference to
+  \function{select()} (the default is \code{False}).  The \var{map} parameter
+  is a dictionary whose items are the channels to watch.  As channels
+  are closed they are deleted from their map.  If \var{map} is
+  omitted, a global map is used (this map is updated by the default
+  class \method{__init__()}
+  -- make sure you extend, rather than override, \method{__init__()}
+  if you want to retain this behavior).
 
   Channels (instances of \class{asyncore.dispatcher}, \class{asynchat.async_chat}
   and subclasses thereof) can freely be mixed in the map.
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index b687fd2..69318c8 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -157,7 +157,7 @@
 
 poll3 = poll2                           # Alias for backward compatibility
 
-def loop(timeout=30.0, use_poll=False, map=None, count=1e309):
+def loop(timeout=30.0, use_poll=False, map=None):
     if map is None:
         map = socket_map
 
@@ -166,9 +166,8 @@
     else:
         poll_fun = poll
 
-    while map and count >= 0:
+    while map:
         poll_fun(timeout, map)
-        count = count - 1
 
 class dispatcher:
 
diff --git a/Misc/NEWS b/Misc/NEWS
index bf808b5..20a1042 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -349,8 +349,6 @@
 - refactored site.py into functions.  Also wrote regression tests for the
   module.
 
-- asyncore.loop now has repeat count parameter that defaults to infinity.
-
 - The distutils sdist command now ignores all .svn directories, in
   addition to CVS and RCS directories.  .svn directories hold
   administrative files for the Subversion source control system.
