Peterborough United suffered a fourth successive Sky Bet League One defeat in a row as Swindon Town came from 1-0 down to secure a 2-1 victory at the ABAX Stadium.
One-time Posh front man Nicky Ajose levelled the scores with a sublime free-kick with Michael Doughty firing the winner less than two minutes after Gabi Zakuani's header had been disallowed for a foul.
After a bright start, Posh got the deserved opening goal as Maddison was felled in the box by Barry and referee Mr Handley pointed to the spot. MADDISON himself stepped up and coolly converted from the spot, sending goalkeeper Vigouroux the wrong way.
Smith blazed a deep Fox corner kick over the bar on the half volley while Zakuani headed wide from a Maddison corner kick.
On 22 minutes, the rather eccentric Vigouroux dallied in possession and then saw his clearance closed down by Maddison who squared the ball for a waiting Coulibaly only for defender Jamie Sendles-White to produce a fine last ditch block.
On 28 minutes, the lively Maddison skipped inside the full-back, but dragged his shot wide of the near post. Fabien Robert fired wide from 25-yards for the Robins on 32 minutes after he was allowed to advance through midfield.
Moore made a routine stop diving to his right on 39 minutes to deny Nathan Thompson after an impressive burst out of defence.
Moments later a raking pass from Oztumer picked out Coulibaly in the left channel, he took a touch and then moved the ball onto his left foot before seeing a low shot saved by the legs of Vigouroux.
On the stroke of half-time, Doughty curled an effort wide of the target as two minutes of added time was indicated by the fourth official.
Three minutes after the re-start and the visitors found a superb leveller as one-time Posh striker Nicky AJOSE curled a superb free-kick over the wall and into the top left hand corner giving Moore absolutely no chance.
Beautyman was cautioned for a foul on 52 minutes presenting the visitors with another set-piece opportunity, a bit further out but still fairly central. Ajose again took it, lower this time, and to the other side, but this time it dropped just wide of the target with Moore scrambling across.
Posh made a double change on 58 minutes with Leonardo Da Silva Lopes and Harry Toffolo replacing Fox and Oztumer. Moore made a fine save to deny Ajose from the dead ball situation again on 65 minutes before Posh made their final change with Tom Nichols replacing Coulibaly.
Vigouroux somehow managed to keep out a deflected Almeida Santos header out before Maddison saw a shot blocked. Samuelsen then fired over as Posh produced a spirited burst during a rather difficult second period.
On 79 minutes, Posh were a whisker away from getting themselves back in front as Samuelsen played in Coulthirst down the left, his low centre was met by substitute Nichols, but he couldn't divert the ball into the back of the net, clipping the outside of the post under severe pressure from Turnbull.
Posh had the ball in the back of the net on 81 minutes as Zakuani met Maddison's corner kick, but the referee gave a foul for pushing by the Posh centre back. Less than two minutes later and the visitors were in front as DOUGHTY somehow squeezed the ball through the legs of several bodies and into the bottom corner.
Maddison saw a low free-kick gathered by goalkeeper Vigouroux after Samuelsen was upended as the match entered the final few minutes.
Coulthirst saw a shot blocked and then Toffolo entered the book for dissent as Posh didn't get themselves what appeared to be a blatant corner kick.
Posh: Moore, Smith, Zakuani, Oztumer (sub Da Silva Lopes 58min), Maddison, Almeida Santos, Beautyman, Fox (sub Toffolo 58min), Coulibaly (sub Nichols 67min), Samuelsen, Coulthirst. Unused subs: Henry, Nicholson, Williams, Nabi.
Swindon: Vigouroux, Thompson, Omonde-Ottewill, Robert (sub Balmy 76min), Turnbull, Ajose, Doughty, L. Thompson (sub Rodgers 68min), Obika, Sendles-White (sub Traore 46min), Barry. Unused subs: Belford, Cooke, Hylton, Iandolo.
Half-time: Peterborough United 1-0 Swindon Town.
Full-time: Peterborough United 1-2 Swindon Town.
Attendance: 5,124 (405 Swindon fans)