Jake Gyllenhaal got "punched in the face" by Conor McGregor on the set of 'Road House'.

Jake Gyllenhaal got punched by Conor McGregor

Jake Gyllenhaal got punched by Conor McGregor

The 43-year-old actor - who plays Elwood Dalton, an MMA fighter-turned bouncer in Doug Liman's movie remake - was impressed by the charisma of the real-life UFC champion during filming, but things almost went wrong when they were rehearsing a fight scene off camera.

Praising Conor, who plays antagonist Knox, he said on SiriusXM's 'The Howard Stern Show' “I think he’s just so charismatic."

Howard noted: “He would scare me - even acting."

Agreeing he was nervous ahead of their first fight scene, Jake said: “In that moment, I was like, ‘I’m about to get head-butted by Conor McGregor - what’s gonna happen?’

"[We were rehearsing]. It was like three in the morning and … he just clocked me, right in the face.

“I wish it was on film, but it wasn’t.”

The DJ laughed: “Jake, there’s no such thing as a mistake."

Jake spent nearly a year training and dieting for the role, but he admitted he had previously learned a lesson while doing similar preparation for his 2015 boxing movie 'Southpaw' as he spent so much time trying to become a boxer, he had lost sight of what he needed to do as an actor, a problem identified by his acting coach, Penny Allen.

He recalled: “She said, ‘My dear, you’ve lost your imagination.'

“Obviously [if] you’re playing a boxer, you want to get in shape, you want to put your body through that—I like that stuff—but in the end the fun of acting is … just playing. Have fun.

“I think I’ve gotten to a place where, if you can learn something, and it brings you joy, and it can be joyful to the people around you, then let’s do that.”