He was educated at St. Mary's School, Melrose, Sedbergh School, and the Scottish College of Textiles. He served as a Major in the 8th Gurkha Rifles (Indian Army), 1946 and as a Major in the King's Own Scottish Borderers from 1956 to 1972.
He served as a Selkirk County and Galashiels Town Councillor from 1949 to 1959, and as Member of Parliament for Aberdeenshire West from February 1974 until 1983. He was Parliamentary Under-Secretary of State for Scotland from 1979 until 1981, and was a Member of the Council of Europe. He held a number of offices in the Scottish Conservative Association and was Chairman of the Conservative Party in Scotland from 1975 until 1980.
He held a number of business appointments, mainly in the textile, advertising and construction sectors.
He was appointed a CBE in 1974 and was knighted in 1981.