Programmers tend to isolate concerns in source code as a way to achieve a clearer visualization of scattered and tangled code. Thus, a crosscutting concern can be well represented as the set of tangled and scattered lines of code across the system. With such model, we found that crosscutting concerns are first inserted in the system and then maintained through a set of changes performed exclusively for those concerns. Versioned software systems provide a huge amount of historical data regarding source code changes. We use a fine grained analysis method of CVS repositories to observe the evolution of three crosscutting concerns, Observer, Persistence, and Undo, in JHotDraw. Analyzing the history of crosscutting concerns gives us the opportunity to better understand their nature, which helps in developing and evaluating new aspect mining techniques