diff --git a/tweepy/cursor.py b/tweepy/cursor.py
index <HASH>..<HASH> 100644
--- a/tweepy/cursor.py
+++ b/tweepy/cursor.py
@@ -84,7 +84,7 @@ class IdIterator(BaseIterator):
 
     def __init__(self, method, args, kargs):
         BaseIterator.__init__(self, method, args, kargs)
-        self.max_id = kargs.get('max_id')
+        self.max_id = kargs.pop('max_id', None)
         self.num_tweets = 0
         self.results = []
         self.model_results = []
IdIterator fix TypeError: _call() got multiple values for keyword argument 'max_id'.

The problem is that max_id is passed in self.method as param but also
kept in kargs. Doing a kargs.pop with None as default value for 'max_id'
solves the problem as not keeping 'max_id' in two places anymore.