diff --git a/mod/box/index.h b/mod/box/index.h
index 156d2920ca10c693ecfdedd50b5ce43f66458c97..caf0eb95caf1e0af42ae7f06670501fcd992951b 100644
--- a/mod/box/index.h
+++ b/mod/box/index.h
@@ -134,6 +134,4 @@ struct iterator {
 	void (*free)(struct iterator *);
 };
 
-struct box_tuple *iterator_first_equal(struct iterator *it);
-
 #endif /* TARANTOOL_BOX_INDEX_H_INCLUDED */
diff --git a/mod/box/index.m b/mod/box/index.m
index e1314b27aeaea9c25fe4c316aa433659cd559579..5b3883c6dc180af6efdc3bf002be92005718cd8f 100644
--- a/mod/box/index.m
+++ b/mod/box/index.m
@@ -42,7 +42,7 @@ iterator_next_equal(struct iterator *it __attribute__((unused)))
 	return NULL;
 }
 
-struct box_tuple *
+static struct box_tuple *
 iterator_first_equal(struct iterator *it)
 {
 	it->next_equal = iterator_next_equal;
diff --git a/mod/box/tree.m b/mod/box/tree.m
index 424158b4319a539f1c5c09bad8621121bef342f6..17b191c0858b9864a1fa909c4cab59ed5495ea1f 100644
--- a/mod/box/tree.m
+++ b/mod/box/tree.m
@@ -822,10 +822,7 @@ tree_iterator_free(struct iterator *iterator)
 	assert(iterator->next == tree_iterator_next);
 	struct tree_iterator *it = tree_iterator(iterator);
 
-	if (key_def->is_unique && part_count == key_def->part_count)
-		it->base.next_equal = iterator_first_equal;
-	else
-		it->base.next_equal = tree_iterator_next_equal;
+	it->base.next_equal = tree_iterator_next_equal;
 
 	it->key_data.data = key;
 	it->key_data.part_count = part_count;
diff --git a/test/box_big/tree_pk.result b/test/box_big/tree_pk.result
index 319e07a0bbb177c52eb5dbb1a88ef716b741b113..183ba44dcb997c314fd7f707cc46c38fa1632758 100644
--- a/test/box_big/tree_pk.result
+++ b/test/box_big/tree_pk.result
@@ -93,3 +93,12 @@ Found 2 tuples:
 lua box.space[3]:truncate()
 ---
 ...
+insert into t2 values (200, 'select me!')
+Insert OK, 1 row affected
+select * from t2 where k0 = 200
+Found 1 tuple:
+[200, 'select me!']
+select * from t2 where k0 = 199
+No match
+select * from t2 where k0 = 201
+No match
diff --git a/test/box_big/tree_pk.test b/test/box_big/tree_pk.test
index 090a90182aa1da98fb4f17f2dbfd314e629c343d..fbf92797b49f3b4eb81d03e802918e07ca6d0f5b 100644
--- a/test/box_big/tree_pk.test
+++ b/test/box_big/tree_pk.test
@@ -60,3 +60,9 @@ exec sql "call box.crossjoin(3, 3, 5)"
 exec sql "call box.crossjoin(3, 3, 10000)"
 exec sql "call box.crossjoin(3, 2, 10000)"
 exec admin "lua box.space[3]:truncate()"
+
+# Bug #922520 - select missing keys
+exec sql "insert into t2 values (200, 'select me!')"
+exec sql "select * from t2 where k0 = 200"
+exec sql "select * from t2 where k0 = 199"
+exec sql "select * from t2 where k0 = 201"