A building contractor who told police he'd been punched in the face by a masked man before fire destroyed a hotel part-owned by Collingwood's Dane Swan has faced court over the arson attack.

Andrew Winston McMahon, 47, of Berwick, has admitted to police that he lit the fire that gutted the Albion Hotel in South Melbourne in October last year, Melbourne Magistrates Court heard on Wednesday.

Detective Senior Constable Adam Burnett said Mr McMahon told police he lit the fire because he needed more time to finish the renovations, which were due for completion that month, the court heard.

The detective said Mr McMahon told police: "I was in a panic. I just needed a couple of weeks for the build. I'm truly sorry."