Jake Gyllenhaal learned of the death of his close friend Heath Ledger while he was in the middle of shooting a scene for this film. Gyllenhaal immediately walked off set, and returned to finish the scene two days later. He then took a longer bereavement leave before he was ready to continue with the rest of his scenes.
Originally, Jake Gyllenhaal wanted to play Sam and Tobey Maguire wanted to play Tommy. Jim Sheridan did not feel Maguire was convincing enough to play the "bad" brother, so they switched roles.
During one intense early prison scene, Jake Gyllenhaal jokingly reached into his pocket and took out a picture of Ledger to stick on the prison wall. "Like those prisoners put [loved ones] on the wall, but Jake's was Heath Ledger," one set source recalls. "That was hilarious. It was a nice moment." (This was before Ledger's death).
Tobey Maguire and Carey Mulligan starred together as cousins four years later in The Great Gatsby (2013).