W tym samym roku przystąpił do stowarzyszenia Chrześcijański Ruch Samorządowy, zasiadając w jego radzie naczelnej. W 2004 został członkiem Unii Polityki Realnej. W 2006 z ramienia Prawa i Sprawiedliwości został wybrany na radnego sejmiku podlaskiego. Wkrótce przeszedł do Platformy Obywatelskiej, z listy której ponownie został radnym województwa w przedterminowych wyborach w maju 2007. Od 2000 do 2008 był członkiem Klubu Zachowawczo-Monarchistycznego, z którego został usunięty na skutek zagłosowania za przyjęciem traktatu lizbońskiego.
W wyborach parlamentarnych w 2007 uzyskał mandat poselski z listy PO, startując z 15. miejsca na liście. Kandydując w okręgu białostockim, otrzymał 9560 głosów. W wyborach parlamentarnych w 2011, startując z 27. miejsca na tej samej liście i w tym samym okręgu, zdobył 8103 głosy i także uzyskał mandat poselski. 30 sierpnia 2013 został zawieszony w prawach członka klubu parlamentarnego PO na trzy miesiące za wielokrotne łamanie dyscypliny. 13 dni później opuścił PO. W ramach projektu „Godzina dla Polski”, wraz z innymi byłymi posłami tej partii Jarosławem Gowinem i Johnem Godsonem, w październiku tego samego roku podpisał porozumienie o współpracy programowej z partią Polska Jest Najważniejsza i następnie ze Stowarzyszeniem „Republikanie” (założonym przez posła Przemysława Wiplera).