Christmas came to The X Factor semi-finals, as the remaining four contestants each had to sing a Christmas song, plus one other.

“I’m sure a lot of people are going to want you for Christmas, dressed like that!” Cheryl told Fleur East, who sang Mariah Carey’s “All I Want For Christmas” in a tight, shiny red dress.

“You put the Fleur personality stamp on the song,” said Fleur’s mentor, Simon Cowell.

But it was Fleur’s second song that had all the judges on their feet.

Fleur sang “Uptown Funk” by Bruno Mars & Mark Ronson and, said Simon, “this is the moment you turned from a contestant into a star”.

And a winner?

Andrea Faustini also earned praise from the judges for both performances…

“I didn’t like it… I loved it,” Simon told Andrea, after he sang Mariah Carey’s “O Holy Night”.

“You are the break-out star of X Factor,” Andrea’s mentor Mel B told him, after his second song, “Wrecking Ball” by Miley Cyrus.

Ben Haenow had a mixed night.

All the judges loved his first song, “Please Come For Christmas”, by The Eagles.

But Mel really didn’t like his second song, Leonard Cohen’s “Hallelujah”.

“I’m going to forget you sang that song. It didn’t do you any favours,” she told Ben.

Lauren Platt was in the sing-off last week and admitted it had made her more nervous this week.

East 17’s “Stay Another Day” was her Christmas song and Louis Walsh told her he thought she “struggled a little bit here and there”.

Lauren’s second song was One Direction’s “Story Of My Life” and Simon told her it “was way, way better than your first song”.

“But I’m still waiting for you to let loose,” Mel said to Lauren. “I don’t think you’ve peaked yet.”

And if Lauren’s in the sing-off this week, she might not get the chance to.

The X Factor results show is on ITV, Sunday, December 7, 8.00pm.