diff --git a/redisson/src/main/java/org/redisson/RedissonBaseIterator.java b/redisson/src/main/java/org/redisson/RedissonBaseIterator.java
index fc9151f8d..bccbd0f32 100644
--- a/redisson/src/main/java/org/redisson/RedissonBaseIterator.java
+++ b/redisson/src/main/java/org/redisson/RedissonBaseIterator.java
@@ -101,6 +101,7 @@ abstract class RedissonBaseIterator<V> implements Iterator<V> {
 
                         currentElementRemoved = false;
                         removeExecuted = false;
+                        
                         client = null;
                         firstValues = null;
                         lastValues = null;
@@ -111,6 +112,19 @@ abstract class RedissonBaseIterator<V> implements Iterator<V> {
                         }
                         finished = true;
                         return false;
+                    } else if (!firstValues.isEmpty()) {
+                        if (res.getPos() == 0) {
+                            if (tryAgain()) {
+                                client = null;
+                                firstValues = null;
+                                nextIterPos = 0;
+                                prevIterPos = -1;
+                                continue;
+                            }
+                            
+                            finished = true;
+                            return false;
+                        }
                     }
                 }
                 lastIter = res.getValues().iterator();