In the 1850s he managed a temperance hotel in Blairgowrie, and was then an insurance agent in Glasgow, Edinburgh and Leicester.
In 1876, he was elected Fellow of the Royal Society, and awarded an honorary degree by the University of St Andrews.