W 1993 bez powodzenia kandydował do parlamentu. W latach 1997–2007 sprawował mandat posła III kadencji z ramienia Unii Wolności, IV i V kadencji z ramienia Platformy Obywatelskiej. W Sejmie pełnił funkcje przewodniczącego sejmowej Komisji Gospodarki oraz wiceprzewodniczącego sejmowej Komisji Małych i Średnich Przedsiębiorstw. Był również m.in. członkiem rady do spraw turystyki przy ministrze gospodarki, wieloletnim przewodniczącym Rady Programowej Wielkopolskiej Wystawy Małych i Średnich Przedsiębiorstw, członkiem Kapituły Nagrody Gospodarczej Prezydenta RP oraz członkiem Rady Ochrony Pracy. W wyborach parlamentarnych w 2007 po raz czwarty został posłem, otrzymując w okręgu pilskim 57 343 głosów. 20 listopada 2007 został sekretarzem stanu w Ministerstwie Gospodarki. 7 października 2009 podał się do dymisji, został odwołany formalnie 20 października tego samego roku. W wyborach do Sejmu w 2011 z powodzeniem ubiegał się o reelekcję, dostał 45 764 głosy.