An Australian man arrested with a gun and 96 cartridges in his bag at Samui airport told police he bought the firearm for self-defence from a Thai on Koh Samui.
Mark Bassal, 41, who has an Australian passport, was arrested at the island's airport around 1pm on Wednesday, police said.
He was detained after an X-ray showed parts of a gun-like object in some of the seven bags he and his family were carrying.
Immigration officers and local police arrested Mr Bassal and charged him with illegal possession of firearm parts and ammunition. They seized the gun parts and 96 cartridges.
During questioning, Mr Bassal allegedly said he bought the pistol and ammunition from a Thai man at a shop in Bophut on Koh Samui. He said it was for self-defence while travelling.
Police were still questioning the man, who was travelling with his wife and their three children. They had tickets for a Thai Airways International flight from Samui to Suvarnabhumi airport.
At this stage, police had not found any evidence that the suspect would use the weapon to commit a crime, nor was he a criminal or mafia figure, police said.