diff --git a/src/box/index.h b/src/box/index.h
index c0825373383dbd898b484c332db1556536cec207..f38c49c90d6a01cc9d22c4181ff44db32963172e 100644
--- a/src/box/index.h
+++ b/src/box/index.h
@@ -194,7 +194,6 @@ enum dup_replace_mode {
 - (struct tuple *) min;
 - (struct tuple *) max;
 - (struct tuple *) findByKey: (void *) key :(int) part_count;
-- (struct tuple *) findByTuple: (struct tuple *) tuple;
 - (struct tuple *) replace: (struct tuple *) old_tuple
 			  :(struct tuple *) new_tuple
 			  :(enum dup_replace_mode) mode;
diff --git a/src/box/index.m b/src/box/index.m
index f8df3ff3b368e88997ae7dc239b0a50df2d07683..125e7700cefd71611c28207d53a79a609629ce3a 100644
--- a/src/box/index.m
+++ b/src/box/index.m
@@ -229,13 +229,6 @@ replace_check_dup(struct tuple *old_tuple,
 	return NULL;
 }
 
-- (struct tuple *) findByTuple: (struct tuple *) pattern
-{
-	(void) pattern;
-	[self subclassResponsibility: _cmd];
-	return NULL;
-}
-
 - (struct tuple *) replace: (struct tuple *) old_tuple
 			  : (struct tuple *) new_tuple
 			  : (enum dup_replace_mode) mode
@@ -428,16 +421,6 @@ hash_iterator_lstr_eq(struct iterator *it)
 	return NULL;
 }
 
-- (struct tuple *) findByTuple: (struct tuple *) tuple
-{
-	/* Hash index currently is always single-part. */
-	void *field = tuple_field(tuple, key_def->parts[0].fieldno);
-	if (field == NULL)
-		tnt_raise(ClientError, :ER_NO_SUCH_FIELD,
-			  key_def->parts[0].fieldno);
-	return [self findUnsafe :field :1];
-}
-
 @end
 
 /* }}} */
diff --git a/src/box/tree.m b/src/box/tree.m
index 995fbd33a7af9b756bb18837bb48dd17440c65a5..069cf5636fb7c989507560051ca0da3e6a4f608b 100644
--- a/src/box/tree.m
+++ b/src/box/tree.m
@@ -930,19 +930,6 @@ tree_iterator_gt(struct iterator *iterator)
 	return [self unfold: node];
 }
 
-- (struct tuple *) findByTuple: (struct tuple *) tuple
-{
-	struct key_data *key_data
-		= alloca(sizeof(struct key_data) + _SIZEOF_SPARSE_PARTS(tuple->field_count));
-
-	key_data->data = tuple->data;
-	key_data->part_count = tuple->field_count;
-	fold_with_sparse_parts(key_def, tuple, key_data->parts);
-
-	void *node = sptree_index_find(&tree, key_data);
-	return [self unfold: node];
-}
-
 - (struct tuple *) replace: (struct tuple *) old_tuple
 			  :(struct tuple *) new_tuple
 			  :(enum dup_replace_mode) mode