Dirty Grandpa has caused some fans to wonder if Zac Efron really sings during the karaoke scene in this riotous comedy. Dirty Grandpa came out in 2016, and despite poor reviews from critics, it performed solidly at the box office and received praise from fans for its comedy and moral direction. Dirty Grandpa is somewhat divisive, with seemingly half the public enjoying the humor and the other half finding it wanting. Despite Dirty Grandpa's mixed reviews, it grossed over $100 million at the box office against a budget of only $25 million. Dirty Grandpa's cast is led by Robert De Niro and Zac Efron.

Dirty Grandpa follows the story of Jason (Efron) and Dick (De Niro) Kelly as they travel to Florida together after the death of Dick's wife, Jason's grandmother. During their various escapades in the sunshine state, Jason ends up at a karaoke bar where he selfishly takes the lead in a duet, drowning out the voice of his love interest, Shadia. This scene caused some fans to wonder if it is really Efron singing in this scene, or if it is dubbed over with another singer like in High School Musical.

Related: Dirty Grandpa: 5 Reasons Why It's Underrated (& 5 Why It Deserved To Be Panned)

Zac Efron Did Sing In Dirty Grandpa

Zac Efron singing in Dirty Grandpa.

As it turns out, Zac Efron actually sings during the Karaoke scene in Dirty Grandpa. Efron's character, Jason, seems reluctant at first when his love interest, Shadia, drags him on stage to sing with her. By the end, however, he belts out the song and completely ignores Shadia behind him. Eventually, Jason takes the song over entirely, singing both parts of the duet and leaving Shadia standing there awkwardly.

Zac Efron shows that he can still sing in this scene, showing off a few vocal tricks and displaying his range. He also shows how well he can play the clueless hunk, who is talented but far too cocky and unaware of the image he projects. This scene in Dirty Grandpa is probably bettered by De Niro's rendition of Ice Cube's "It Was a Good Day" immediately before. In De Niro's case, there is no question of lip-syncing, as his hilarious rendition is very clearly in his real voice.

Why Zac Efron Doesn't Always Sing In His Movies

Zac Efron (Troy) and Vanessa Hudgens (Gabriela) sing into mics in High School Musical.

Zac Efron doesn't always sing in his movies because his voice does not always match the required songs. For example, in High School Musical, Efron does not sing his parts because the music in that film was in the wrong pitch for his voice. Efron has a fairly high-pitched singing voice. However, it seems it was not high enough to sing in High School Musical. Zac Efron shows in Dirty Grandpa that he has a good singing voice, but that doesn't necessarily mean he can sing any song required in any given film.