Large software systems are never static. They exist in an environment that is subject to constant changes in both functionality and technology. This is particularly a problem for large-scale distributed systems, where different components may be subject to different, divergent, pressures. This paper describes work carried out on an RM-ODP-based model for evolution of distributed application services under such conditions. It examines problems that may occur when services evolve to their new versions without corresponding evolution in their clients and presents a mechanism to preserve such old services as are still needed. The model uses the idea of 'mapping' to provide the impression of old services using their new versions. A prototype of the model has been implemented on the ANSAware platform, giving an example of how the model can be applied in a working distributed environment.