The Fraserburgh-born player follows Joe Shaughnessy in extending his stay in the past seven days, after fellow teenager Ryan Fraser turned down an offer.
The 19-year-old has made six appearances for the Dons, netting once.
He told the club's website: "I spoke with my family and my agent but it was a very simple decision in the end. Aberdeen is a good club to be playing your football at.
"Hopefully I can repay the faith the management team have shown in me by offering me the deal."
Meanwhile, captain Russell Anderson could return for the Clydesdale Bank Premier League visit of Kilmarnock on Saturday after missing the midweek cup win over Motherwell with a back injury.
Midfielder Stephen Hughes is also nearing a return after knee and ankle injuries but is doubtful for the Killie clash.
- Sports & Recreation