Il sert avec une grande distinction à la bataille de Talavera, où il est gravement blessé en tentant de rallier les fuyards espagnols. Cette année-là, en 1809, il devient vicomte Macduff lors de l'accession de son père au comté irlandais de Fife, mais il continue à servir en Espagne et est présent lors de la défense de Cadix contre le maréchal Victor, et est de nouveau gravement blessé lors de l'attaque sur le fort Matagorda en 1810. Le , il succède à son père comme quatrième comte Fife, et comme Lord Lieutenant du Banffshire, et retourne en Grande-Bretagne, après avoir été fait chevalier de l'ordre de Saint-Ferdinand. Il est élu député de Banffshire en 1818 et devient Lord-in-waiting l'année suivante .