Od 1997 do 2009 sprawował mandat posła na Sejm. Po raz pierwszy uzyskał go z listy Akcji Wyborczej Solidarność. W 2001 i 2005 był wybierany z ramienia PiS w okręgu gdańskim. W wyborach parlamentarnych w 2005 zdobył 23 518 głosów. W Sejmie V kadencji od 9 listopada 2005 był zastępcą przewodniczącego w Komisji Polityki Społecznej. Przez część tej kadencji zasiadał w Komisji Zdrowia, pracował też w Komisji Samorządu Terytorialnego i Polityki Regionalnej. W wyborach parlamentarnych w 2007 po raz czwarty uzyskał mandat poselski, otrzymując 17 726 głosów. W wyborach do Parlamentu Europejskiego w 2009 został liczbą 41 521 głosów wybrany w okręgu wyborczym Gdańsk na eurodeputowanego. Został członkiem Komisji Praw Kobiet i Równouprawnienia.

4 listopada 2011 komitet polityczny PiS zdecydował o jego wykluczeniu z partii. Wraz z innymi wykluczonymi wówczas z PiS politykami znalazł się wśród założycieli ugrupowania Solidarna Polska, w którym objął funkcję przewodniczącego rady programowej (przed powołaniem partii w 2012 był krótko także wiceprezesem tymczasowego zarządu ugrupowania). W wyborach europejskich w 2014 kandydował z 2.