In the event, the final day defeat at The Valley was irrelevant, as it was Stoke City holding Leicester to a draw that ensured our Championship survival.
But this shambolic performance against a team with nothing to play for, who have themselves underachieved this season, meant that our destiny was not in our own hands.
Recent performances had lifted us to near-safety, but the pre-season optimism was short-lived, as Luke Varney gave the home side an early lead.
Keeper Kasper Schmeichel might be set to make his loan move permanent in the Summer, but he was very much at fault here, coming off his line, only to be beaten to the ball by the Charlton striker, who lobbed him from a tight angle.
Defeat would mean that other clubs could catch us, and this was not a comfortable afternoon as Charlton extended their lead inside the opening 20 minutes.
Jay Tabb had already cleared an Andy Gray effort off the line, before the striker capped a neat passing move with a cool finish past Schmeichel, with our defence ripped apart.
But we hit back quickly, and Michael Mifsud finally ended his 20 game goal drought with a low shot from just outside the area that slipped past everyone to make it 2-1.
News from elsewhere went from good to bad to OK and back to bad again as the half-time whistle approached, but we could still have got something from this game, despite not playing particularly well.
After the break things really started to go wrong.
Mifsud very nearly made it 2-0 just after the restart, but then Schmeichel made his second costly mistake of the afternoon, palming a corner haphazardly into the path of young defender Grant Basey, who held his composure to slot in their third - his first career goal scored, oh so predictably against us.
The scorelines in other games were now of critical importance, and with Southampton and Sheffield Wednesday winning, only Leicester were between us and relegation.
Having been told he can leave in the Summer, this was probably Michael Hughes final game for us, after a lone season of modest success with us - and he got a suitably unspectacular ovation when he was subbed.
Stephen Hughes went close from distance, and Leon Best headed over, but we could not find a way to reduce the deficit, and Charlton still looked hungry for goals, with Matt Holland hitting the post from 30 yards out.
Best then had a goal ruled out for a foul, and it became clear that we would need to rely on results elsewhere when sub Chris Powell - playing probably the final game of his career, came on to score his first goal for six years - again, oh so typically against the Sky Blues.
Fans paid little attention to the action on the pitch in the final minutes, and continued to listen to news from the Britannia Stadium, where Stoke were holding Leicester to a goalless draw.
The agony continued for some time after the final whistle, until, eventually, there could be celebrations - we had survived, and our local rivals Leicester were relegated.
But this result summed up our disappointing season, and we have only stayed up by the skin of our teeth.
Some serious strengthening in the Summer is required.




Charlton: Weaver, Halford, Bougherra, McCarthy, Basey (Iwelumo, 70), Thomas (Wagstaff, 64), Holland, Shevley (Powell, 84), Youga, Varney, Gray. SUBS NOT USED: Randolph, Sodje.
Coventry: Schmeichel, Osbourne (Hines, 73), Ward, Dann,