The Scotsman, who has started the last 17 games for North End, including Saturday's 3-1 win at Championship leaders Wolves. And he has already netted three times in helping Preston back into the Championship play-off zone.
"The last few months have been good," he said. "I've enjoyed my time at Deepdale and I am delighted to be here for the next four-and-a-half years.
"I came to Preston to play games and I have done that.
"We have a good team and a good bunch of lads here and hopefully within the time I am here we can achieve our aim, which is to get to the Premiership."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.