Działalność opozycyjna Jeszcze jako student zaangażował się w działalność opozycyjną. Był współpracownikiem KSS „KOR” i gdańskiego SKS od 1977. W 1978 należał do współorganizatorów Wolnych Związków Zawodowych Wybrzeża. W latach 1979–1980 organizował wykłady Towarzystwa Kursów Naukowych. W 1981 był koordynatorem w Ośrodku Kultury Społecznej w Regionie Gdańskim NSZZ „Solidarność”. 2 marca 1984 w ramach tzw. porwań toruńskich został uprowadzony, torturowany i więziony przez funkcjonariuszy OAS (grupy specjalnej SB) w okolicach Okonina, a następnie pozostawiony na wysypisku śmieci w Brodnicy.
Działalność polityczna w III RP W wyborach w 2001 uzyskał mandat poselski jako kandydat Prawa i Sprawiedliwości w okręgu toruńskim. Po wyborach w 2005 ponownie został posłem. W Sejmie V kadencji pełnił funkcję zastępcy przewodniczącego Komisji Infrastruktury.