Współorganizował akcje solidarnościowe ze strajkującymi pracownikami służby zdrowia w Gdańsku, w 1981 był organizatorem strajków ostrzegawczych oraz strajku okupacyjnego w konińskim szpitalu.

W stanie wojennym został internowany na okres od 13 grudnia 1981 do 20 września 1982, przebywał w ośrodkach odosobnienia we Włocławku-Mielęcinie oraz w Kwidzynie. Po reaktywacji NSZZ „S” w 1989 został członkiem tymczasowego zarządu regionu oraz krajowej komisji koordynacyjnej służby zdrowia. W latach 1980–1989 był rozpracowywany przez funkcjonariuszy Służby Bezpieczeństwa, jego sprawie nadano kryptonim „Protest”.

W latach 1989–1991 sprawował mandat senatora I kadencji, wybranego z ramienia Komitetu Obywatelskiego w województwie konińskim. Był członkiem Obywatelskiego Klubu Parlamentarnego. Dołączył do Ruchu Obywatelskiego Akcji Demokratycznej, a następnie do Unii Demokratycznej. W Senacie pracował w Komisji Polityki Społecznej i Zdrowia jako jej przewodniczący. W 1991 nie ubiegał się o reelekcję. Kontynuował praktykę lekarską również po przejściu na emeryturę.