Ashton Kutcher was supposed to play Drew in Elizabethtown.
Cassie Steele, best known as Manny from Degrassi, had originally been cast to voice Raya in Raya and the Last Dragon.
Lisa Kudrow was meant to play Roz on Frasier before she played Phoebe on Friends.
Jenna Fischer was fired from Man With a Plan because people couldn’t divorce her from her character from The Office.
Julianne Moore was replaced by Melissa McCarthy in Can You Ever Forgive Me?
Colin Firth’s voice was too old for Paddington.
Natalie Portman had the opposite problem in Romeo + Juliet — she was too young.
As was Stuart Townsend for the role of Aragorn in The Lord of the Rings.
Dax Shepard was meant to guest star on Will and Grace but was fired after the table read.
One of Michael J. Fox’s most iconic roles is Marty McFly from Back to the Future — but it turns out that Eric Stoltz was originally cast in the role.
Harvey Keitel also played the character in the wrong tone when he was cast as Willard in Apocalypse Now.
Kel O’Neill was fired from There Will Be Blood after failing to connect with the director.
Sarah Silverman was fired from sitcom Pride and Joy after misinterpreting the ~sauciness~ of the show.
Mark Webber was allegedly fired from Stumptown after the pilot for not being attractive enough.
Former teen heartthrob Freddie Prinze Jr. was also fired from the CW series Nancy Drew after the pilot.
Jean Claude Van Damme left Predator after difficulties involving his costume.
Dennis Hopper was fired after only days of filming for The Truman Show.
Gerard McSorley was replaced after filming started for the Oscar-winning film The Departed.
And finally, Phil Burns was recast after the first season of Seinfeld.
Now I’ve got a question for you — what actors should have been replaced because they were totally wrong for a role, but weren’t? Let us know in the comments!