diff --git a/db/db_iter.cc b/db/db_iter.cc
index 4d0f42e..48ca4a5 100644
--- a/db/db_iter.cc
+++ b/db/db_iter.cc
@@ -168,6 +168,15 @@ void DBIter::Next() {
   } else {
     // Store in saved_key_ the current key so we skip it below.
     SaveKey(ExtractUserKey(iter_->key()), &saved_key_);
+
+    // iter_ is pointing to current key. We can now safely move to the next to
+    // avoid checking current key.
+    iter_->Next();
+    if (!iter_->Valid()) {
+      valid_ = false;
+      saved_key_.clear();
+      return;
+    }
   }
 
   FindNextUserEntry(true, &saved_key_);