The potential benefits of evolving legacy systems to COTS-based component architectures are well documented. These include rapid, non-intrusive modernization through the use of COTS software components, and significantly reduced post maintenance costs. However, the hype has not translated to a corresponding increase in the migration of legacy systems to COTS-based architectures. There are two main reasons for this. First, many legacy systems provide adequate core functionality. For this type of legacy system, replacement may not be the most cost-effective solution. Secondly, there is a general lack of scalable methods and tools that support COTS-based evolution of legacy systems. This paper describes our experience in using a component-based method to evolve a legacy system