Tom Hanks says he could not play the role of a gay man today as he did in Philadelphia in 1993 - and "rightly so".
The Hollywood star played lawyer Andrew Beckett in the film, a man who was fired from his job after his bosses discovered his sexuality.
Speaking to The New York Times Magazine, the veteran actor said:
"Let's address, 'Could a straight man do what I did in Philadelphia now?' No, and rightly so."
Hanks said: "We're beyond that now, and I don't think people would accept the inauthenticity of a straight guy playing a gay guy.
"It's not a crime, it's not boohoo that someone would say we are going to demand more of a movie in the modern realm of authenticity.
Do I sound like I'm preaching? I don't mean to."
When he collected his Oscar for the film, he recognised that too many gay men had died because of HIV and AIDS.
He said: "I know that my work in this case is magnified by the fact that the streets of heaven are too crowded with angels.