Several current AI techniques are based on the reuse of problem solving knowledge. Case-based reasoning (CBR) is one such technique. In CBR problem solutions are stored as cases, and to solve a new problem a suitable case is retrieved and adapted. This paper examines adaptation in the context of a case-based reasoning system for software design called Déjà Vu. The paper describes Déjà Vu’s two-tier approach to adaptation which utilises both domain specific and domain independent adaptation knowledge. In addition we describe how Déjà Vu provides two adaption support mechanisms (adaptive problem decomposition and adaptation-guided retrieval) to relieve the adaptation load and how these mechanisms use adpation knowledge in different ways to achieve their goals.