Zoolander No 2 screenwriter Justin Theroux has defended Benedict Cumberbatch's cameo as non-gender-binary supermodel "All".

The actor's star turn, which was featured in the trailer, came under fire for making a "cartoonish mockery" of "androgyne/trans/non-binary individuals" in an online petition.

But Theroux said that the full scene will reveal that it is male models Derek Zoolander (Ben Stiller) and Hansel (Owen Wilson) who are the butt of the joke, not "All".

He said: "Now that people are starting to see the film a little bit, it's nice because I think it's a bit like criticising the meal before you've tried it.

"And I think people will see, once the movie's out, that it was kind of much ado about nothing.

"The Benedict character is an incredibly powerful character and the joke is really on these two middle-aged models, who are idiots.

"So that's the punchline, not Benedict's character."

In the trailer, "All" is introduced as the "biggest supermodel in the whole world".

Derek asks: "Are you, like, a male model or a female model?" - to which Cumberbatch's character answers "All is All."

Hansel continues: "I think he's asking 'do you have a hot dog or a bun?'."

A petition to boycott the film has gained over 24,000 signatures.

It claims: "Cumberbatch's character is clearly portrayed as an over-the-top, cartoonish mockery of androgyne/trans/non-binary individuals.

"This is the modern equivalent of using blackface to represent a minority."