Magnus var også i konflikt med de svenske og danske kongene. I 1101 ble det imidlertid avtalt et forliksmøte mellom de tre nordiske kongene Magnus, svenskekongen Inge og danskekongen Erik ved utløpet av Gøta elv, grensen mellom de tre nordiske rikene. Her ble det avtalt at Magnus skulle få Inges datter, Margareta. Margareta fikk tilnavnet Fredskolla, det vil si fredskvinnen, fordi ekteskapet mellom henne og Magnus ble en pakt på fredsavtalen. Snorre forteller også om Magnus barn, som han hadde fått utenfor ekteskap før han giftet seg med Margareta. Den eldste var Øystein, hvis mor var så lite gjev at Snorre ikke brydde seg om å nevne navnet hennes, deretter Sigurd, sønn av Tora, og til sist Olav, sønn av Sigrid. Etter dette forteller Snorre et par anekdoter om personer som skal ha blitt helbredet etter å ha bedt til helgenen Olav den hellige i Trondheim.