W 1980 wstąpił do Niezależnego Samorządnego Związku Zawodowego „Solidarność”, organizował struktury związku w Regionie Mazowsze, pracował w Ośrodku Badań Społecznych NSZZ „Solidarność”. W 1981 był jednym z sygnatariuszy deklaracji założycielskiej Klubów Służby Niepodległości. W czasie stanu wojennego był internowany od grudnia 1981 do czerwca 1982 w Jaworzu; po zwolnieniu pracował jako nauczyciel w Niższym Seminarium Duchownym w Niepokalanowie, kontynuował działalność opozycyjną, m.in. był jednym z założycieli podziemnego pisma „ABC. Adriatyk, Bałtyk, Morze Czarne”.

Działalność publiczna w III RP do 2007 Poza polityką Był prezesem Stowarzyszenia Euro-Atlantyckiego. W 1990 został prezesem Ligi Morskiej (przemianowanej na Ligę Morską i Rzeczną) i funkcję tę pełnił przez 17 lat (do 2007). Został także członkiem okręgu warszawskiego Polskiego Związku Łowieckiego.

Polityka W latach 1989–1990 pełnił funkcję dyrektora gabinetu ministra Aleksandra Halla w Urzędzie Rady Ministrów, a w latach 1990–1993 (z przerwą w 1992) – cywilnego wiceministra obrony narodowej ds. wychowawczo-społecznych w rządach Tadeusza Mazowieckiego, Jana Krzysztofa Bieleckiego i Hanny Suchockiej.