Cain (played by Jeff Hordley) remains one of the longest-running characters on Emmerdale, and viewers adore his relationship with Scottish firecracker Moira Dingle (Natalie J. Robb).
Unfortunately the pair have been struggling to connect in recent weeks on the ITV soap and the lies started piling up between them after Victoria Sugden (Isabel Hodgins) confided in Moira over her rape in the Big Night Out episodes.
Moira eventually told Cain the truth, but their fragile trust was tested again this week when Amy (Natalie Ann Jamieson) let nine-year-old Kyle out of her sight at the park.
Terrified, Amy roped Nate in to help her find the youngster, who had wandered into the garage and breathed in fumes from a broken exhaust pipe.
Moira rushed to help and the group took the little boy to the hospital, where he was eventually cleared with good health.
But Amy, worried her tenuous truce with Cain would be tested if he found out what happened, begged Moira to keep the incident secret.
Moira was nervous about Cain’s reaction in the end, but agreed to help Amy keep her son in her life, until tonight saw the mechanic discover the truth after an unexpected phone call from Kyle’s school.
Confronting the lying trio about what happened, Cain was raging as Moira sighed: “I knew this was gonna happen, I’m sorry. It’s a long story, but the main thing is that Kyle’s alright.”
“You lied Moira,” he spat back. “He could have died. He went to A&E and neither of you bothered to tell me. Cannot wait to hear this one.”
Despite Moira’s attempts to calm things down with her husband, the tension only continued to build and when Nate stepped in, it was clear battle lines have been drawn.