Den svenske kongen Olof mente å ha rett til å bli konge over deler av Norge, og tilbød Olav å bli hans underkonge og ta Norge i len av ham. Dette nektet Olav, og det førte til en konflikt mellom de to kongene. Olav greide å få flere mektige menn på sin side, blant annet lendmannen Brynjolv Ulvalde og Olofs jarl Ragnvald. Snorre skriver at « [Olof Skötkonung] ». Det ble etterhvert et forliksmøte mellom dem, der det ble avgjort at Olav skulle gifte seg med Olofs datter Ingegjerd. Da Olav skulle dra for å hente henne, nektet Olof å gi datteren til Olav. Det ble satt til et nytt møte, og til slutt gikk Olof med på å gi Olav frilledatteren (Olofs datter med en frille) Astrid i stedet for den ektefødte Ingegjerd. Olav og Olof holdt siden fred med hverandre i resten av sine respektive regjeringsperioder. Svearne tok etter dette Olofs sønn Anund Jakob til konge.