diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 5475776..3801cc8 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -476,16 +476,14 @@
     def moving_average(iterable, n=3):
         # moving_average([40, 30, 50, 46, 39, 44]) --> 40.0 42.0 45.0 43.0
         # http://en.wikipedia.org/wiki/Moving_average
-        n = float(n)
         it = iter(iterable)
-        d = deque(itertools.islice(it, n))
+        d = deque(itertools.islice(it, n-1))
+        d.appendleft(0)
         s = sum(d)
-        if len(d) == n:
-            yield s / n
         for elem in it:
             s += elem - d.popleft()
             d.append(elem)
-            yield s / n
+            yield s / float(n)
 
 The :meth:`rotate` method provides a way to implement :class:`deque` slicing and
 deletion.  For example, a pure python implementation of ``del d[n]`` relies on
