Index: vcpx/repository/cvsps.py
===================================================================
--- vcpx/repository/cvsps.py	(revision 1228)
+++ vcpx/repository/cvsps.py	(revision 1235)
@@ -463,5 +463,4 @@
 
         found = False
-        csets = self.state_file.reversed()
 
         def already_applied(cs, entries=entries):
@@ -490,8 +489,10 @@
             return applied
 
-        for cset in csets:
-            found = already_applied(cset)
-            if found:
+        for cset in self.state_file:
+            applied = already_applied(cset)
+            found = found or applied
+            if applied:
                 last = cset
+            else:
                 break
 
Index: vcpx/tests/statefile.py
===================================================================
--- vcpx/tests/statefile.py	(revision 1180)
+++ vcpx/tests/statefile.py	(revision 1236)
@@ -76,13 +76,2 @@
             self.assertEqual(cs, i)
             i += 1
-
-    def testReverse(self):
-        """Verify the reverse iteration over changesets"""
-
-        rontf = ReopenableNamedTemporaryFile('sf', 'tailor')
-
-        sf = StateFile(rontf.name, None)
-        sf.setPendingChangesets([1,2,3,4,5])
-
-        reversed = list(sf.reversed())
-        self.assertEqual(reversed, [5,4,3,2,1])
Index: vcpx/statefile.py
===================================================================
--- vcpx/statefile.py	(revision 984)
+++ vcpx/statefile.py	(revision 1236)
@@ -108,27 +108,4 @@
             raise StopIteration
         return self.current
-
-    def reversed(self):
-        """
-        Iterate over the changesets, going backward.
-        """
-
-        if self.archive is None:
-            self._load()
-
-        index = []
-        while True:
-            pos = self.archive.tell()
-            try:
-                load(self.archive)
-                index.append(pos)
-            except EOFError:
-                break
-
-        index.reverse()
-
-        for pos in index:
-            self.archive.seek(pos)
-            yield load(self.archive)
 
     def pending(self):
