A generation of children grew up with his portrayal of Commander Traynor in the children's science fiction TV series Timeslip. He was also heard in many television voiceovers.
He was known for two major roles: in 1980, he played the title role in Stephen Sondheim's Sweeney Todd, and in 1982 he was camp soldier Terri Dennis in Peter Nichols' play Privates on Parade, and in the film version thereof. His screen appearances grew increasingly rare in later life, one of his few starring appearances being as Saint Peter in the international drama mini-series, A.D..
One of his last stage performances was as Elisha Whitney in a Cole Porter revue. He was to have been in the musical Anything Goes at the Theatre Royal Drury Lane, but was too unwell to make the transfer from the National Theatre to the West End.