Casting for the lead role went through several process. First it was given to Shah Rukh Khan, but he declined due to his neck injury, then it was offered to Vivek Oberoi. Finally the producers casted Jimmy Sheirgill for the part, but they later interchanged his role with Sanjay Dutt who was cast as the patient 'Zaheer'.
This being Rajkumar Hirani's directorial debut, he wanted everything to be authentic. For the dissection room scenes, he considered shooting in a real dissection room, using real dead bodies. With due respect for everyone's feelings, the scene was shot on a set with a real person doubling up as a cadaver.
Rani Mukerji was very keen on this film and had signed on for the role of Chinky, but she couldn't do the film due to date problems. Then Tabu was brought in, but she soon dropped out. Finally, the role went to Gracy Singh.
Sajid Khan was the first choice for the role of Circuit before Arshad Warsi got it. Also Vivek Oberoi,Anil Kapoor and Shahrukh Khan were all approached to play Munnabhai which was eventually played by Sanjay Dutt.