Reading’s pre-season preparations began with a disappointing late defeat at non-league Eastleigh.
The Royals trailed at half-time of their pre-season curtain raiser at The Silverlake Stadium thanks to a Paul McCallum strike.
But the visitors improved after the restart, going close through Callum Harriott and Danny Loader before eventually equalising when Leandro Bacuna fired in with 12 minutes to play.
However, there was still time for one more late twist when Vito Mannone fumbled a Bayley Brown header, allowing striker Ben Williamson to pounce from inside the six-yard box.
Pre-season got off to the worst possible start with traffic on the trip down the M3 causing the Reading bus to arrive less than an hour before kick-off.
There was also a late change to the team with Sam Smith withdrawing through injury, meaning Yakou Meite got a chance to lead the line following his loan at Sochaux.
Other notable inclusions to the starting 11 saw Andy Yiadom and David Meyler make their first starts since joining Reading over the summer.
But just 14 minutes in, the Royals were facing up to a similar scenario to last season after falling behind.
After Meite had lost out, Eastleigh quickly broke with winger Mark Yeates playing a neat through ball for McCallum to chase and when the pass just evaded Liam Moore, the striker finished well past Anssi Jaakkola and into the far corner.
The Royals almost equalised immediately when Swift found Mo Barrow, who tucked into the net, but the offside flag was up.
Swift was beginning to grow increasingly into the contest while the best route back into the match appeared to be down the left with Barrow’s pace causing problems.
Meite had a shot charged down from inside the box after Swift’s cross and the forward went close again, latching onto Sone Aluko’s floated cross but the flag was up again.
Aluko was the next to try his luck, firing over the bar from 25 yards while Barrow struck the post with a low cross as Reading ended the half behind.
Paul Clement made 11 changes at the break with Adrian Popa introduced after returning from his loan spell while Loader led the line and Harriott came in for his first appearance since December 2016 after a recurring hamstring injury.
The new-look Reading side had a big shout for a penalty turned down shortly after the restart when Popa put in a cross, but the cries of handball were waved away.
Down the other end, one of nine Eastleigh half-time substitutes in Chris Zebroski was denied from inside the box by a Tyler Blackett block.
George Evans was then beaten too easily by Ben Williamson down the left, but fortunately for the Royals his low cross just evaded two Spitfires men in the middle.
With Clement barking orders from the sidelines, Reading got onto the front foot with Loader lifting a ball through for Dave Edwards, but goalkeeper Graham Stack was there to gather.
Then Harriott found space at the back post to meet a cross, but headed it wide.
But Reading did not have to wait much longer to find the net. Moments after Harriott’s cross from the left had but turned against the post by Loader, the next attack yielded a goal as Bacuna broke through and fired in off the inside of the same upright.
However, Eastleigh responded to snatch a last-gasp winner when a cross from the left was headed on by Brown and Mannone could not keep hold of the effort, allowing Williamson to prod home.
Reading now face another week of training before travelling to AFC Wimbledon on Saturday.
READING FC (1st half): Jaakkola; Yiadom, McShane (c), Moore, Gunter; Meyler, Kelly, Swift; Aluko, Barrow, Meite.
2nd half: Mannone; Rinomhota, Ilori, Evans, Blackett; Bacuna, Clement, Edwards; Popa, Harriott, Loader.
Sub not used: Ward.
Goal: Bacuna (78)
EASTLEIGH (1st half): Childs; Hare, Wynter, Johnson, Green; Hollands (c); Murray, Gilot, Gobern, Yeates; McCallum.
(2nd half): Stack; Hare (Dennett 69), Boyce, Wynter (Harvey 74), Canteh; Jones; Zebroski, Brown, Miley, Wood; Williamson.
Goals: McCallum (14), Williamson (87)