Preston climbed into the Championship play-off places following a comfortable 3-0 win at struggling Barnsley.
The victory – Preston's first on the road since November – moved Preston up to sixth.
It was a disappointing performance from Gerhard Struber's side as they suffered a third defeat in four games.
Barnsley, who had not been beaten at home since November, never threatened to stage a comeback and sit four points from safety having played a game more than the rest of the bottom six.
Barkhuizen finished off a flowing move to give the visitors a 19th-minute lead. Josh Harrop played in Darnell Fisher, whose cutback found Barkhuizen and he beat Samuel Radlinger with a first-time shot.
Preston's lead was increased in the 34th minute when Harrop's shot was saved and the ball rebounded to Johnson who fired into the net.
When the hosts did carve out an opening, Rudd made a good save to deny Marcel Ritzmaier.
Barkhuizen scored his second goal of the night in the final minute of the half when Radlinger got a hand to his low shot but was unable to prevent it from crossing the line.
Soon after the re-start, Alan Browne headed wide at the far post after getting on the end of a Harrop free-kick.
Preston boss Alex Neil made a double substitution midway through the second period with the game safe, sending on Brad Potts and Sean Maguire in place of Johnson and Scott Sinclair, and Barkhuizen was rested soon after.
The visitors appeared content to sit on their three-goal lead, rarely venturing forward to test the home rearguard.
Alex Mowatt, often an influential figure for Barnsley, tried a long-range effort late on which was deflected wide. Apart from that, he was a largely peripheral figure over the course of the match.
The final act of the night saw Harrop's free-kick strike the defensive wall, but Preston had long since put the game to bed as they added a second victory in a row having previously been on a six-game winless run in all competitions.