diff --git a/go/vt/vtgate/topo_utils.go b/go/vt/vtgate/topo_utils.go
index <HASH>..<HASH> 100644
--- a/go/vt/vtgate/topo_utils.go
+++ b/go/vt/vtgate/topo_utils.go
@@ -112,7 +112,6 @@ func mapKeyRangesToShards(topoServ SrvTopoServer, cell, keyspace string, tabletT
 // This maps a list of keyranges to shard names.
 func resolveKeyRangeToShards(allShards []topo.SrvShard, kr key.KeyRange) ([]string, error) {
 	shards := make([]string, 0, 1)
-	topo.SrvShardArray(allShards).Sort()
 
 	if !kr.IsPartial() {
 		for j := 0; j < len(allShards); j++ {
@@ -125,9 +124,6 @@ func resolveKeyRangeToShards(allShards []topo.SrvShard, kr key.KeyRange) ([]stri
 		if key.KeyRangesIntersect(kr, shard.KeyRange) {
 			shards = append(shards, shard.ShardName())
 		}
-		if kr.End != key.MaxKey && kr.End < shard.KeyRange.Start {
-			break
-		}
 	}
 	return shards, nil
 }
Fix concurrency problem for topology