Type compatibility is an important issue in the area of service type evolution as it is desirable for a new-version service to still be compatible with its old version in order that existing clients of the old service are affected by the change as little as possible. This paper introduces a new type relationship called an equivalence relationship which concerns functionality compatibility rather than interface signature compatibility when determining substitutability between two service versions. To support this kind of relationships, parts of the C O M A invocation model will be extended to allow information of equivalent service versions to be discovered at run time from the augmented CORBA Interface Repository. A client request to an old service will then be dynamically and transparently composed as a new-version invocation to a new-version service. The proposed extensions will be useful to provide compatibility not only between versions of the same service but also between two distinct services that have equivalent functionality.