According to the director, the script was written keeping Sanjay Dutt and Akshay Kumar in mind for the lead roles.
A tattoo can be seen on Akshay Kumar's neck which reads "Aarav", coincidentally the name of the he plays. It's actually his son's name, which was later incorporated into the script.
Lara Dutta didn't know how to swim when she was cast, so she went on training. She had almost drowned while filming the movie Andaaz (2003), but was rescued by the actor Akshay Kumar. Strangely, Akshay was the one who recommended her name for this underwater exploration adventure movie.
While filming the the climax underwater fighting scenes in the wrecked ship Akshay Kumar smashed his forehead under a rusty metal portion. Blood suddenly came out, and there were sharks nearby the filming spot. Everyone panicked but he was rescued by the stunt actors. Akshay was ready for the second take, but director insisted the first shoot was okay.
According to director Anthony D'Souza the first choice for the character of Sam was John Abraham. But John was not able do the film because of personal reasons and prior commitments. Hence the role went to Zayed Khan.