#5493: clarify __nonzero__ docs.
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index d083af5..0c1a10e 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1424,11 +1424,12 @@
 
    .. index:: single: __len__() (mapping object method)
 
-   Called to implement truth value testing, and the built-in operation ``bool()``;
+   Called to implement truth value testing and the built-in operation ``bool()``;
    should return ``False`` or ``True``, or their integer equivalents ``0`` or
-   ``1``. When this method is not defined, :meth:`__len__` is called, if it is
-   defined (see below).  If a class defines neither :meth:`__len__` nor
-   :meth:`__nonzero__`, all its instances are considered true.
+   ``1``.  When this method is not defined, :meth:`__len__` is called, if it is
+   defined, and the object is considered true if its result is nonzero.
+   If a class defines neither :meth:`__len__` nor :meth:`__nonzero__`, all its
+   instances are considered true.
 
 
 .. method:: object.__unicode__(self)