W wyborach parlamentarnych w 2001 i 2005 kandydował do Sejmu z listy Prawa i Sprawiedliwości w okręgu podlaskim, nie uzyskiwał jednak mandatu. W wyborach samorządowych w 2006 został wybrany ponownie na wójta oraz do sejmiku. Z obu tych funkcji zrezygnował wkrótce po wyborach, zastępując w Sejmie Romana Czepego, który zrzekł się mandatu poselskiego w związku z wyborem na burmistrza Łap.
W wyborach parlamentarnych w 2007 po raz drugi uzyskał mandat poselski, otrzymując 7545 głosów. W 2011 nie został ponownie wybrany. W 2014 powrócił do sejmiku podlaskiego z ramienia PiS. W 2015 został natomiast ponownie wybrany do Sejmu, otrzymując 6787 głosów. W wyborach w 2019 z powodzeniem ubiegał się o poselską reelekcję, otrzymując 14 101 głosów. W 2022 powołany na pełnomocnika jednego z okręgów PiS w województwie podlaskim.