W wyborach samorządowych w 1998 bezskutecznie ubiegał się o mandat radnego powiatu gdańskiego z listy Akcji Wyborczej Solidarność. W latach 2002–2006 zasiadał w radzie miasta Pruszcz Gdański. Do 2002 był członkiem Zjednoczenia Chrześcijańsko-Narodowego, następnie wstąpił do Prawa i Sprawiedliwości. W styczniu 2006 został mianowany wojewodą pomorskim, odwołano go z tego stanowiska 26 lutego 2007. W przedterminowych wyborach parlamentarnych w tym samym roku bez powodzenia ubiegał się o mandat poselski z listy Platformy Obywatelskiej. W latach 2008–2010 wchodził w skład władz stowarzyszenia Pomorze XXI. W 2010 objął mandat posła VI kadencji w miejsce Anny Zielińskiej-Głębockiej, w parlamencie przystąpił do KP PO (został następnie członkiem Platformy Obywatelskiej). Zasiadał w Komisji Infrastruktury oraz w Komisji Sprawiedliwości i Praw Człowieka. Pełnił funkcję wiceprzewodniczącego Poselskiego Zespołu ds. Lotnictwa oraz uczestniczył w pracach Podkomisji stałej ds. transportu lotniczego i gospodarki morskiej. W wyborach w 2011 bezskutecznie ubiegał się o reelekcję.