Publikował teksty prawnicze w prasie podziemnej.

W trakcie obrad Okrągłego Stołu był członkiem zespołu do spraw prawa i wymiaru sprawiedliwości oraz ekspertem zespołu do spraw politycznych. Został delegowany przez „Solidarność“ do Państwowej Komisji Wyborczej na czas wyborów w 1989.

W latach 1989–1991 zajmował stanowisko podsekretarza stanu w Urzędzie Rady Ministrów i sekretarza Rady Ministrów. W latach 1991–1998 przez trzy kadencje z ramienia Unii Demokratycznej i Unii Wolności sprawował mandat poselski. Pracował w Komisji Ustawodawczej, Komisji o Spraw Służb Specjalnych, Komisji Obrony Narodowej, był przewodniczącym Komisji nadzwyczajnej do spraw kodyfikacji, w latach 1992–1993 zastępcą przewodniczącego Komisji Konstytucyjnej Zgromadzenia Narodowego, następnie członkiem Komisji Konstytucyjnej.

W 1998 złożył mandat poselski, obejmując urząd sędziego Trybunału Konstytucyjnego. Był sędzią sprawozdawcą między innymi w orzeczeniach dotyczących konstytucyjności reformy rolnej (SK 5/01), rygoryzmu przesłanek stosowania pozbawienia wolności jako kary zastępczej (SK 26/04) oraz kadencyjności jako wartości konstytucyjnej (K 45/02). 18 grudnia 2007 po zakończeniu kadencji przeszedł w stan spoczynku.