'Once Upon A Time' Kills Off Major Character: Spoilers Ahead

Find out which series regular was killed off during last night's episode.

ByABC News
December 7, 2015, 11:48 AM
Colin O'Donogue is seen as Captain Killian "Hook" Jones in the "Swan Song" episode of "Once Upon a Time".
Colin O'Donogue is seen as Captain Killian "Hook" Jones in the "Swan Song" episode of "Once Upon a Time".
ABC/Jack Rowand

— -- The mid-season finale of "Once Upon A Time" left viewers shocked when series regular Captain Hook, played by Colin O’Donoghue, was killed off in last night's episode.

In the episode, "Swan Song," Captain Hook sacrificed himself by having Emma pierce him with Excalibur in order to save Emma and the residents of Storybrooke.

In an interview with Entertainment Weekly, O’Donoghue, revealed that even though Captain Hook died in last night's episode, he is not necessarily gone forever.

"It’s complicated, because we’re going to the Underworld for the second part of the season,” said O’Donoghue. “[Captain Hook is] sticking around, but in a completely different way and quite shocking.”

O'Donoghue explained that by sacrificing himself, Captain Hook “feels like a hero,” despite his previous dastardly deeds.

“[Hook] does it for the greater good, even though he was the architect of all the problems," O'Donoghue said. "He does it for love, and I think that makes him feel like he is, in some way, a hero, and proving himself to Emma and to the other people of Storybrooke.”

"Once Upon a Time" returns Sunday, March 6, at 8 p.m. ET on ABC.