He undertook casual work on the docks between 1959 and 1961 before becoming a trainee engineman on the railways and ultimately a qualified fireman.
At the 1977 election he contested the safe Labor seat of Fremantle in the Western Australian Legislative Assembly following the retirement of the member, Harry Fletcher.
In June 1977, he and 21 other people, including two senior Transport Workers Union officials, were arrested on the charge of "obstructing traffic" after a mêlée when a fuel agent attempted to break a union picket line at a North Fremantle dock.
In November 1978, the ALP state executive denied him preselection for the 1980 election, awarding it to 25-year-old David Parker instead.
He left the Labor Party in 1987, and at the 1989 election and at a by-election for the Fremantle seat the following year, he ran as an independent, attracting 12.84% and 9.28% of the vote respectively.