We describe a load-balancing mechanism for assigning elements to servers in a distributed data structure that supports range queries. The mechanism ensures both load-balancing with respect to an arbitrary load measure specified by the user and geographical locality, assigning elements with similar keys to the same server. Though our mechanism is specifically designed to improve the performance of skip graphs, it can be adapted to provide deterministic, locality-preserving load-balancing to any distributed data structure that orders machines in a ring or line. Categories and Subject Descriptors C.2.2 [Computer Communication Networks]: Network Protocols—Applications, routing protocols General Terms Algorithms, Performance, Experimentation Keywords Peer-to-peer systems, Overlay networks