After watching Jasmine (Karen David) and Ariel (JoAnna Garcia Swisher) team up on Sunday’s (April 2) episode of “Once Upon a Time,” we’re kind of wondering if Emma shouldn’t just enlist them to help take care of her Gideon problem. They made pretty quick work of Jafar (Oded Fehr), that’s for sure.

While a mermaid in the desert doesn’t exactly sound like a recipe for success, that’s exactly where Ariel journeyed to in order to bump into Jasmine in this week’s fairytale flashback. One magic carpet ride later, we found out what exactly happened to Agrabah way back when — Jafar shrunk the whole thing down and put it inside a diamond ring. If that gem was priceless before, its street value just went way up considering it houses an entire city inside of it.

RELATED: ‘Once Upon a Time’: Gideon’s plans for Emma include some serious heartbreak

True love’s kiss really can break any curse though, and Jasmine and Aladdin’s (Deniz Akdeniz) first smooch did the trick and freed their city (and Aladdin from his genie shackles). Now that their land is saved, we’ll be saying farewell to these two heroes until the next time they crop up in the “Once Upon a Time” narrative, and based on Ariel’s continual reappearances, we shouldn’t have to wait too long.

Meanwhile, it sounds like Emma (Jennifer Morrison) might have to wait a good long time to see Hook (Colin O’Donoghue) again.

Thanks to some stray Savior tears, Gideon (Giles Matthey) can now keep Hook from portal-ing back to Storybrooke permanently (because Savior tears can apparently do that?), or at least until Emma kills the Black Fairy for him.

It has to be said that while Hook’s panic over being separated from Emma was definitely cute, he kind of needed an attitude check. Yelling at princesses and snapping at genies does not an attractive hero make. When all is said and done, Hook isn’t exactly the same kind of hero as Charming (Josh Dallas) and Snow (Ginnifer Goodwin) — eager to help strangers, even if it means putting their own agenda on the back burner — but we’d hoped his time with Emma had made him a slightly less selfish person than that.

RELATED: Which ‘OUAT’ characters can Season 7 afford to lose?

At the end of the day, he did help Jasmine and Aladdin get back to Agrabah though, so we can’t be too mad at him.

So far, we know very little about Emma’s new target, the Black Fairy, besides a few secondhand accounts from Rumple (Robert Carlyle) and Gideon, so this woman better be seriously evil to deserve all this build up.

It seems like we’ll get some good insight into why Gideon’s grandmother is so awful soon, since he’s about to spend some quality time with Emma. Still, we kind of wish he’d spend that quality time with his parents instead. Don’t think it’s escaped our notice that Rumple and Belle (Emilie de Ravin) in particular have gotten minimal face time with their baby boy, and if anyone has a hope of setting this kid straight, it’s his mom and dad.

“Once Upon a Time” airs Sundays at 8 p.m. ET/PT on ABC.

Posted by:Lindsay MacDonald

Lindsay MacDonald is a Los Angeles based entertainment reporter with an affinity for CW superheroes. She graduated from Pepperdine University with a major in Media Studies and a borderline unhealthy obsession with TV in 2012. She would much rather spend the day binge-watching ‘The Flash’ or sorting ‘Game of Thrones’ characters into Hogwarts houses than venturing outdoors. TV words to live by: “Never ignore coincidence. Unless, of course, you’re busy. In which case, always ignore coincidence.”