Kelly Osbourne felt she had "no option" but to quit 'Fashion Police'.
The 30-year-old star announced her departure from the E! show just days after her co-host Giuliana Rancic apologised for making an offensive remark about Zendaya Coleman's dreadlocks.
A source said: "Zendaya was touched by Kelly's motives, but she didn't want her friend to give up a job she loves. But Kelly felt she had no option.
"Being the feisty and stubborn character she is, she would find it incredibly difficult to work alongside Giuliana again."
The 18-year-old Disney star was reportedly upset her friend chose to quit her hosting duties on the show - a position she has held since 2011 - and wished everyone could try and "forgive and forget".
The source added to HollywoodLife.com: "Zendaya told Kelly that she shouldn't quit 'Fashion Police' because of the race argument. She said that now that an apology was made, everybody should move on and try and forgive and forget.
"However, Kelly finds it very difficult to forgive people - especially when it comes down to racism. She prides herself on being culturally rich and has many friends of many different races. Kelly felt she needed to make a stand - because of her own beliefs - and went through with resigning from her post."
Meanwhile, in a statement, E! thanked Kelly for her "many contributions" to the show.
They said: "Kelly Osbourne is departing E!'s 'Fashion Police' to pursue other opportunities, and we would like to thank her for her many contributions to the series over the past five years, during which time the show became a hit with viewers.
"'Fashion Police' will return, as scheduled, on Friday, March 30th at 9:00 p.m. and no decisions have been made on her replacement."