Został również zastępcą sekretarza generalnego partii.

W wyborach samorządowych w 2002 wystartował do rady miasta z listy Bydgoskiego Porozumienia Obywatelskiego (popieranego przez Platformę Obywatelską), uzyskując mandat wynikiem 382 głosy. Pełnił funkcję wiceprzewodniczącego Komisji Budżetu i Finansów oraz członka Komisji Integracji Europejskiej. Podczas wyborów samorządowych w 2006 był członkiem sztabu krajowego PO oraz szefem sztabu w Bydgoszczy. W tych wyborach partia wygrała wybory w mieście, zdobywając 13 mandatów w radzie miasta oraz 3 z 6 mandatów w okręgu do sejmiku.

25 września 2005, kandydując w wyborach do Sejmu z 8. miejsca na liście Platformy Obywatelskiej w okręgu bydgoskim, został wybrany do Sejmu V kadencji, otrzymując 6850 głosów. W Sejmie zasiadał w Komisji Gospodarki oraz w Komisji Administracji i Spraw Wewnętrznych. Reprezentował polski parlament w Zgromadzeniu Parlamentarnym Unii Zachodnioeuropejskiej. W wyborach parlamentarnych w 2007 po raz drugi uzyskał mandat poselski, otrzymując 8633 głosów. Został skarbnikiem klubu parlamentarnego, w 2009 wszedł w skład komisji śledczej do zbadania okoliczności porwania i zabójstwa Krzysztofa Olewnika.