Aberdeen and St Mirren ended their season with a scoreless Scottish Premier League draw at Pittodrie.
Darren Mackie, captaining the Dons in his final appearance for the club, missed two chances in the first half.
Gavin Rae's shot narrowly missed the target as the hosts continue to press after the interval.
St Mirren, whose best efforts came from Steven Thompson and Graham Carey, were stubborn in defence and the result ensured they finished above Aberdeen.
The Paisley side end the campaign eighth, two points ahead of the Dons, who finish ninth for the third successive season.
Mackie, who joined Aberdeen as a teenager in 1998, had an early chance but his shot was turned round the post by St Mirren keeper Craig Samson.
The hosts posed a threat at set pieces and a dangerous Jamie Masson delivery was flicked on by Mackie's head, forcing a clearance by Jim Goodwin to relieve the pressure on the visitors.
Buddies striker Thompson's angled drive forced a save from Jamie Langfield midway through the first half and St Mirren came close again when Carey curled a free-kick wide.
The ball fell to Mackie a few yards out moments later but the 30-year-old dragged his effort across the face of goal minutes before Masson tested Samson with a curling shot.
Thompson picked up a booking for dissent just after half-time, meaning he will be suspended for the first league game of next season.
A controlled, rising shot by Rae crept over the St Mirren crossbar as Aberdeen continued to force the issue.
Another player leaving Pittodrie this summer, Rory McArdle, came on for Josh Magennis and Kari Arnason, whose future is unclear, made way for Isaac Osbourne in Aberdeen's next change.
Ryan Fraser also came on for the Dons to replace Masson and the substitute's dangerous deliveries gave Samson some work to do.
At the other end, Thompson's downward shot was pushed out by Langfield.
And neither side was able to force a winning goal in the closing stages.
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +1:08
Shot on goal comes in from Ryan Jack from the free kick, Craig Samson makes a save.90:00 +1:08 Booking
Booking The referee shows Jim Goodwin a yellow card.90:00 +0:56
Free kick awarded for a foul by Jim Goodwin on Ryan Fraser.86:03
Corner taken left-footed by Kenny McLean from the left by-line, Andrew Considine manages to make a clearance.84:53
Outswinging corner taken by Kenny McLean from the left by-line, clearance by Scott Vernon.81:16
Darren Mackie takes the inswinging corner, Steven Thompson makes a clearance.81:16 Booking
Booking Marc McAusland is booked.80:05 Substitution
Substitution Jamie Masson leaves the field to be replaced by Ryan Fraser.77:35
Marc McAusland challenges Darren Mackie unfairly and gives away a free kick. Direct free kick taken by Andrew Considine.77:05
Free kick awarded for an unfair challenge on Paul McGowan by Scott Vernon. Paul McGowan takes the direct free kick.74:59 Substitution
Substitution Isaac Osbourne joins the action as a substitute, replacing Kari Arnason.74:08
Outswinging corner taken right-footed by Ryan Jack, Steven Thompson makes a clearance.73:35
Corner taken right-footed by Jamie Masson from the left by-line, Marc McAusland manages to make a clearance.70:58 Substitution
Substitution (Aberdeen) makes a substitution, with Rory McArdle coming on for Josh Magennis.69:03
Darren McGregor challenges Darren Mackie unfairly and gives away a free kick. The free kick is delivered right-footed by Ryan Jack from right channel.61:52 Substitution
Substitution Nigel Hasselbaink joins the action as a substitute, replacing Douglas Imrie.61:52 Substitution
Substitution Graham Carey leaves the field to be replaced by Gary Teale.59:51
Free kick awarded for a foul by Ryan Jack on Graham Carey. Craig Samson takes the direct free kick.56:50
Corner taken left-footed by Graham Carey to the near post, clearance made by Jamie Masson.
Graham Carey takes the direct free kick.56:13 Booking
Booking The referee cautions Josh Magennis for unsporting behaviour.56:07
Jeroen Tesselaar fouled by Josh Magennis, the ref awards a free kick.49:25
Free kick awarded for a foul by Graham Carey on Jamie Masson. The ball is sent over by Mark Reynolds, Gavin Rae produces a left-footed shot from long range which goes wide right of the goal.46:32 Booking
Booking Steven Thompson goes into the referee's book.45:01
The game restarts for the second half.45:00 +0:03 Half time
Half Time The referee blows for half time.43:11
Graham Carey shoots direct from the free kick, save made by Jamie Langfield.43:11 Booking
Booking Andrew Considine shown a yellow card.42:51
Free kick awarded for a foul by Andrew Considine on Graham Carey.42:05
Corner taken left-footed by Graham Carey from the right by-line to the near post, Russell Anderson manages to make a clearance.40:26
Inswinging corner taken right-footed by Paul McGowan played to the near post, clearance by Russell Anderson.36:59
Free kick awarded for an unfair challenge on Paul McGowan by Gavin Rae. Jim Goodwin takes the free kick.34:57
Josh Magennis challenges Kenny McLean unfairly and gives away a free kick. Jeroen Tesselaar takes the free kick.30:06
Free kick awarded for an unfair challenge on Darren Mackie by Darren McGregor. Josh Magennis produces a shot on goal direct from the free kick.29:11
Jamie Masson takes a shot. Save by Craig Samson.24:03
Mark Reynolds concedes a free kick for a foul on Douglas Imrie. Direct effort from the free kick comes in from Graham Carey.21:50
Steven Thompson takes a shot. Save by Jamie Langfield.20:43
Ryan Jack gives away a free kick for an unfair challenge on Jim Goodwin. Free kick taken by Craig Samson.18:06
Douglas Imrie is flagged offside by the assistant referee. Mark Reynolds takes the indirect free kick.17:08
Outswinging corner taken by Ryan Jack from the right by-line, save by Craig Samson.15:19
Inswinging corner taken right-footed by Jamie Masson from the left by-line to the near post, Jim Goodwin manages to make a clearance.13:40
Gavin Rae challenges Douglas Imrie unfairly and gives away a free kick. Jeroen Tesselaar restarts play with the free kick.5:51
Kenny McLean fouled by Josh Magennis, the ref awards a free kick. Kenny McLean restarts play with the free kick.3:43
Corner taken right-footed by Jamie Masson from the left by-line, Steven Thompson makes a clearance.3:39
Darren Mackie takes a shot. Save by Craig Samson.1:07
Steven Thompson gives away a free kick for an unfair challenge on Mark Reynolds. Mark Reynolds takes the direct free kick.0:00
The referee gets the game started.
Live data and text provided by our data suppliers