diff --git a/mwclient/listing.py b/mwclient/listing.py
index 02a80d67577e7d1593a55700e69cb50b81cbc15c..d6bc1e82d07e67d9ccc66c2c65f6c85d87f0a0b1 100644
--- a/mwclient/listing.py
+++ b/mwclient/listing.py
@@ -17,6 +17,8 @@ class List(object):
         if limit is None:
             limit = site.api_limit
         self.args[self.prefix + 'limit'] = str(limit)
+        if 'continue' not in self.args:
+            self.args['continue'] = ''
 
         self.count = 0
         self.max_items = max_items
@@ -62,8 +64,14 @@ class List(object):
             raise StopIteration
         self.set_iter(data)
 
-        if self.list_name in data.get('query-continue', ()):
+        if data.get('continue'):
+            # New style continuation, added in MediaWiki 1.21
+            self.args.update(data['continue'])
+
+        elif self.list_name in data.get('query-continue', ()):
+            # Old style continuation
             self.args.update(data['query-continue'][self.list_name])
+
         else:
             self.last = True