The reengineering of legacy systems - by which we mean those that have value and yet `significantly resist modification and evolution to meet new and constantly changing business requirements' - is widely recognized as one of the most significant challenges facing software engineers. A complex mixture of business and technical factors must be taken into account to ensure success, and there is a wide range of different contexts each with its own problems. Moreover, the business needs do not stay constant while the technical factors are dealt with. In the paper it is argued that the main problem is not that the necessary expertise does not exist, but rather, that it is hard for software engineers to become expert in all of the necessary areas. It is proposed that systems reengineering patterns may help to codify and disseminate expertise, and that this approach has some advantages over conventional methodological approaches. This contention is supported by means of some candidate patterns drawn from the authors experience and supported by information from elsewhere.