David Keltjens scored on his debut to earn St Johnstone a 1-1 draw against Aberdeen after his skipper Liam Gordon twice fell foul of dubious game-changing VAR decisions.
Gordon was penalised for a foul on Jamie McGrath after Graham Carey thought he had volleyed Saints in front in the 49th minute.
And the defender was again adjudged to have committed a foul after John Beaton was called to his monitor by video assistant Steven Kirkland for a second time to review an incident in the other box.
Bojan Miovski took advantage as he converted the 62nd-minute penalty.
McGrath had already cleared the ball towards Carey when he was caught on the foot by Gordon and the penalty incident was similar. The centre-back was ruled to have caught Slobodan Rubezic as both attempted to meet Connor Barron’s corner.
Neither foul seemed clear and obvious, certainly to the vast majority of the 3,472 fans inside McDiarmid Park.
But Saints refused to fall victim to a hard-luck story and Keltjens took advantage of some poor goalkeeping from Kelle Roos to head home in the 78th minute as Aberdeen missed the chance to move into the cinch Premiership top six.
Israel international Keltjens came in at right wing-back as St Johnstone manager Craig Levein made five changes following his side’s Scottish Cup defeat by Airdrie.
Top goalscorer Nicky Clark dropped out with a minor groin injury to leave St Johnstone’s starting 11 with only four league goals between them this season.
Aberdeen manager Barry Robson named the same team for the third game running as he looked for a hat-trick of wins for the first time since September.
The Dons made the better start and Saints goalkeeper Dimitar Mitov pulled off a good stop from Dante Polvara’s powerful strike.
But the remainder of the first half was completely lacking in incidents of note as both teams struggled to make inroads.
The game livened up in the second half, with Carey denied the opener when his well-struck volley beat Roos at his near post after the midfielder’s free-kick eventually came back to him.
The chances were suddenly flowing at both ends. Matt Smith twice set up Diallang Jaiyesimi but the striker was denied by a good stop from Roos before dragging a shot wide.
Graeme Shinnie forced a save from Mitov following a bursting run and the Bulgarian tipped over Nicky Devlin’s deep cross.
More VAR confusion followed for the fans before Miovski netted his 17th goal of the season.
The writing was on the wall for Saints given Aberdeen had recorded 1-0 wins in four of their previous five visits to Perth.
But Levein’s side showed fight and Keltjens had a header saved before beating Roos to Carey’s cross to head into the empty net.
Rubezic and Carey were both booked for diving in the box before an exciting eight minutes of stoppage time.
Aberdeen sub Ester Sokler saw a good headed chance saved by Mitov before Max Kucheriavyi hit the outside of the post at the other end.
What the manager’s said
St Johnstone manager Craig Levein
“That was our intention [to take David Keltjens off before the goal] but he was doing so well that I didn’t see any reason to take him off.
“David was excellent. He has hardly played any football at all for a long time and that was one of the considerations when we signed him. But he has played six times for Israel and he is a good age.
“It was just about whether he was capable of performing at the levels that we require and he more than did. He was steady, reliable and tough. To get the goal was the icing on the cake.”
Aberdeen manager Barry Robson
“It was disappointing, when you are 1-0 up with 15 minutes to go, you are hoping to go on and win the game.
“When the opposition is coming at you and they will come at you, you have to be calm and use your experience. You get your distances right, stop crosses coming into the box and when the ball does come in the box, you win your headers.
“We never did that well enough in the last 15 minutes.”
What’s next?
St Johnstone’s next Scottish Premiership match is at home to Motherwell on Saturday, while Aberdeen are away to Hearts.
Both games kick off at 3pm.