diff --git a/mwclient/RELEASE-NOTES.txt b/mwclient/RELEASE-NOTES.txt
index 3ba95bfc6c047dfeca92cbeefa1d959507057cc9..faa0af62a90d3e50649fa28516b1aea530d13f8f 100644
--- a/mwclient/RELEASE-NOTES.txt
+++ b/mwclient/RELEASE-NOTES.txt
@@ -9,6 +9,7 @@ Mwclient 0.6.4 is unreleased.
 * Properly fix detection of alpha versions
 * Added support for builtin json library
 * Handle badtoken once
+* Bug 2690034: Fix revision iteration
 
 == Changes in version 0.6.3 ==
 * Added domain parameter to login.
diff --git a/mwclient/page.py b/mwclient/page.py
index 4398b9a279cfef121d70f88d4a25e04a66122e8b..3cfee9940a931d82146931ca8f5df84be285c212 100644
--- a/mwclient/page.py
+++ b/mwclient/page.py
@@ -266,7 +266,7 @@ class Page(object):
 		kwargs['rvprop'] = prop
 		if expandtemplates: kwargs['rvexpandtemplates'] = '1'
 		
-		return listing.PageProperty(self, 'revisions', 'rv', limit = limit, **kwargs)
+		return RevisionsIterator(self, 'revisions', 'rv', limit = limit, **kwargs)
 	def templates(self, namespace = None, generator = True):
 		self.site.require(1, 8)
 		kwargs = dict(listing.List.generate_kwargs('tl', namespace = namespace))
@@ -313,3 +313,9 @@ class Image(Page):
 	def __repr__(self):
 		return "<Image object '%s' for %s>" % (self.name.encode('utf-8'), self.site)
 	
+class RevisionsIterator(listing.PageProperty):
+	def load_chunk(self):
+		if 'rvstartid' in self.args and 'rvstart' in self.args:
+			del self.args['rvstart']
+		return listing.PageProperty.load_chunk(self)
+	
\ No newline at end of file