miejsce, o 0,09 punktu procentowego mniej od przechodzącego do drugiej tury Mieczysława Czerniawskiego). Został członkiem PO, zasiadł w regionalnym zarządzie ugrupowania.

W 2004 kandydował bezskutecznie do Parlamentu Europejskiego, a w 2006 uzyskał mandat radnego sejmiku podlaskiego z okręgu łomżyńskiego. Ponownie wybierany w przedterminowych wyborach w 2007, a także w 2010, 2014, 2018 i 2024. Od 2008 do 2014 wchodził w skład zarządu województwa. W latach 2014–2018 pozostawał wiceprzewodniczącym sejmiku. Na przełomie 2017 i 2018 został przewodniczącym klubu radnych PO. W marcu 2018 został ogłoszony kandydatem koalicji PO-PSL na przewodniczącego sejmiku po odwołaniu Jarosława Dworzańskiego, który w grudniu 2017 wystąpił z PO. W maju bezskutecznie głosowano nad powołaniem go na to stanowisko, czemu przeszkodziły problemy techniczne z pilotem do głosowania. Ostatecznie wybrany na nowego szefa sejmiku 18 czerwca 2018 w drugim głosowaniu, pełnił tę funkcję do końca V kadencji. 22 listopada 2018 jego następcą został Karol Pilecki. W 2019 bez powodzenia kandydował do Sejmu. W maju 2024 został wybrany na członka zarządu województwa VII kadencji.

Życie prywatne Żonaty, ma dwoje dzieci. Deklaruje znajomość języka angielskiego i niemieckiego.