Once Upon a Time has recast a role for season 3. Sean Maguire will replace Tom Ellis as Robin Hood.
Ellis played Robin Hood in the season 2 episode “Lacey”, in which Rumplestiltskin (Robert Carlyle) caught Robin Hood in his castle and held him prison in his dungeon. Soft-hearted Belle (Emilie de Ravin) released Robin Hood and told him to run, though she refused to go with him. According to TVLine, Ellis was unable to return for an arc in season 3, and Maguire was cast for the role instead.
Once Upon Time Season 3 will also feature Ariel, the Little Mermaid herself. Producers also said Tinker Bell and Peter Pan will be seen as several characters travel to Neverland to save Henry (Jared Gilmore). Giancarlo Esposito will return to his role as Sydney Glass/Magic Mirror and Michael Raymond-James has been promoted to series regular status.
Once Upon a Time returns to ABC on Sundays September 29, along with spinoff Once Upon Time in Wonderland.