Осенью 1016 г. князь Ярослав Владимирович (Ярислейф) с помощью варягов разбил у города Любеч войско печенегов под предводительством Бориса Владимировича (Бурислейфа) и вскоре овладел Киевом. Борис бежал к печенегам, а князь Святополк – в Польшу, к своему тестю Болеславу Храброму. При этом его жена стала добычей Ярослава.

Однако Болеслав был поглощен борьбой с немцами, и судьба дочери и зятя его мало волновала. Поэтому он решил немедленно завести дружбу с победителем. Мало того, вдовый Болеслав предложил Ярославу Владимировичу скрепить союз браком с его сестрой Предславой. «С лисьим коварством» (по словам Титмара Мерзебургского) Болеслав одновременно вел переговоры с германской знатью и отправил сватов к Оде, дочери мейсенского маркграфа Эккехарда в Саксонии.

Ярослав же, овладев Киевом, считал себя непобедимым и грубо отказал Болеславу в союзе как политическом, так и брачном. Мало того, Ярослав в первой половине 1017 г. отправил послов к германскому императору Генриху II, чтобы заключить наступательный союз против Польши. Генрих обрадовался русскому посольству, и в том же году была организована первая русско-германская коалиция против Польши. Кроме Руси и Германии в коалицию вошли чешский князь Олдржих и племя язычников-лютичей.

Болеслав Храбрый решил бить врагов поодиночке. Войско его сына Мешко, будущего короля Мечеслава II (г. пр. 1025–1034), вторглось в Чехию и, пользуясь отсутствием Олдржиха, разорило страну.

Германо-чешское войско осадило польскую крепость Нимч, но вскоре было вынуждено отступить в Чехию. Болеслав предложил Генриху начать переговоры о мире и 1 октября 1017 г. отправил послов в город Мерзебург, где находилась ставка императора. Переговоры затянулись, и лишь 30 января 1018 г. в городе Будишине (Баутцене) был подписан мир между Польшей и Германской империей. Польша получила земли, принадлежавшие ей еще до начала войны 1015–1017 гг.: Лужицкую марку и Мильско (земли мильчан). Однако если раньше Болеслав владел ими на правах имперского лена, то теперь они прямо включались в состав Польского государства.

Генрих дал согласие на брак Болеслава с Одой. Бракосочетание состоялось с фантастической для того времени быстротой – всего через четыре дня после заключения Будишинского мира.

В 1017 г. Ярослав с войском двинулся к Берестью (нынешнему Бресту). Город Берестье к 1015 г. входил в состав Туровского княжества, и там могли находиться как русский гарнизон, преданный Святополку, так и польское войско. Взял ли Ярослав Берестье или нет, неизвестно, но хронист Титмар Мерзебургский кратко написал, что Ярослав, «овладев городом, ничего [более] там не добился». Итак, войско Ярослава вернулось назад. Возможно, это было связано с приходом печенегов, ведомых Борисом Владимировичем.

Летом 1017 г. Болеслав двинулся с войском навстречу Ярославу. Помимо поляков у него было 300 наемных немцев, 500 венгров и 1000 печенегов. С поляками шла и русская дружина Святополка.

Рати встретились 20 июля 1017 г. на Волыни, на реке Буг. Два дня противники стояли друг против друга и начали обмениваться «любезностями». Ярослав велел передать польскому князю: «Пусть знает Болеслав, что он, как кабан, загнан в лужу моими псами и охотниками». На что Болеслав ответил: «Хорошо ты назвал меня свиньей в болотной луже, так как кровью охотников и псов твоих, то есть князей и рыцарей, я запачкаю ноги коней моих, а землю твою и города уничтожу, словно зверь небывалый».

22 июля воевода Ярослава Буда начал насмехаться над польским князем, крича ему: «Вот мы проткнем тебе палкою брюхо твое толстое!»