Im Schonenkrieg (1674–1679) stieg er bis 1676 zum Admiral auf, siegte an der Seite seines Königs in der Schlacht bei Lund und kämpfte bei Blekinge, Christianopel und Karlshamn. Nach der Absetzung des erfolglosen Reichsadmirals Gustaf Stenbock, dem Tod des Generaladmirals Lorentz Creutz und der Niederlage des Feldmarschalls Henrik Horn in der Seeschlacht in der Køgebucht (1677) übernahm er das Kommando über die Reste der schwedischen Flotte und kämpfte bis 1679 vor Kalmar und Öland.