Cameron Diaz was cast first and actor Gerard Butler briefly considered the role of 'Roy Miller', but instead decided to take on the lead role in the film The Bounty Hunter. Tom Cruise then signed on to do the role opposite Cameron Diaz.
The film changed leading actors several times and at one time was titled "Wichita," and comedian actor Adam Sandler was offered a starring role in the film; he declined, saying, "I just don't see me with a gun."