Działalność publiczna Należał do PZPR, Socjaldemokracji RP i Sojuszu Lewicy Demokratycznej. W latach 1991–2001 sprawował mandat posła I, II i III kadencji. W Sejmie II kadencji pełnił funkcje wiceprzewodniczącego Komisji ds. Układu Europejskiego, przewodniczącego Komisji Ustawodawczej i przewodniczącego Komisji Konstytucyjnej Zgromadzenia Narodowego. W III kadencji był m.in. członkiem Komisji Integracji Europejskiej oraz Komisji Odpowiedzialności Konstytucyjnej. W 2001 nie ubiegał się o reelekcję.

W listopadzie tegoż roku został wybrany na urząd sędziego Trybunału Konstytucyjnego. W 2006 był obok Jerzego Stępnia jednym z dwóch kandydatów na stanowisko prezesa TK, a w marcu 2010 prezydent Lech Kaczyński powołał go na stanowisko wiceprezesa TK. W grudniu tego samego roku zakończył dziewięcioletnią kadencję sędziego Trybunału Konstytucyjnego.

Obejmował także funkcje społeczne (przewodniczącego Towarzystwa Zintegrowanego Zarządzania Środowiskiem, wiceprezesa Towarzystwa Naukowego Prawa Ochrony Środowiska i wiceprezesa Towarzystwa Przyjaciół Ossolineum).

Został pochowany na Cmentarzu św.