W wyborach samorządowych w 2002 bez powodzenia ubiegał się o reelekcję z listy koalicji POPiS. Następnie do 2005 zajmował stanowisko zastępcy prezydenta Koszalina.

Należał do Stronnictwa Konserwatywno-Ludowego, następnie przystąpił do Platformy Obywatelskiej. Z jej listy w wyborach parlamentarnych w 2001 bez powodzenia kandydował do Sejmu, a w wyborach w 2005 został wybrany na posła V kadencji w okręgu koszalińskim. W wyborach parlamentarnych w 2007 po raz drugi uzyskał mandat poselski, otrzymując 24 597 głosów. 16 listopada 2007 został sekretarzem stanu w Ministerstwie Środowiska. W wyborach w 2011 z powodzeniem ubiegał się o reelekcję, dostał 27 047 głosów.

10 czerwca 2015 premier Ewa Kopacz poinformowała o przyjęciu jego dymisji ze stanowiska wiceministra. W wyborach w tym samym roku został ponownie wybrany do Sejmu, otrzymując 14 264 głosów. W Sejmie VIII kadencji został przewodniczącym Komisji Ochrony Środowiska, Zasobów Naturalnych i Leśnictwa. W 2016 został p.o. sekretarza generalnego PO, a od grudnia 2017 do kwietnia 2018 zajmował stanowisko sekretarza generalnego partii.