Jennifer Lopez insisted that the part of Catch be played by Jim Caviezel even though she didn't even know his name. She had recently been impressed with his performance in The Thin Red Line (1998).
In the nightclub, Catch and the flute player perform a duet of the song "Nature Boy." This is one of Nat 'King' Cole's greatest hits.
Jennifer Lopez initially turned down the lead when the production refused to meet her $8 million salary request.
In this film, Jennifer Lopez acts opposite two men who have played Jesus Christ. Jeremy Sisto portrayed Jesus Christ in Jesus (1999) and Jim Caviezel played Jesus Christ in Mel Gibson's The Passion of the Christ (2004).
The scenes in and around Sharon's parents home were filmed at the Playter Farmhouse, a historic building near the Danforth in Toronto, Ontario.
Jennifer Lopez did most of her own stunts, impressing director Luis Mandoki, who spoke about this on the film's DVD commentary. This, including the foot chase when Lopez scales a high fence chasing a suspect.
Aaron Eckhart was originally cast as Catch Lambert. However, he had a change of heart and dropped out of the film.
James Marsden was offered the role of Catch Lambert, but turned it down in order to be in X-Men (2000).
The film's original release had David Gray's Sail Away playing at the end credits, but this has been removed for the DVD release.