indeksacji i polityki społecznej.
W wyborach parlamentarnych w 1989 został wybrany na senatora I kadencji z województwa katowickiego jako kandydat KO „Solidarność”. 19 lipca 1989 podczas wyborów prezydenckich przez Zgromadzenie Narodowe celowo oddał głos nieważny, przez co wraz z kilkoma innymi parlamentarzystami Obywatelskiego Klubu Parlamentarnego umożliwił wybór na to stanowisko Wojciecha Jaruzelskiego. W Senacie pełnił wówczas funkcje wicemarszałka oraz przewodniczącego senatorów OKP.
W 1990 był wśród założycieli Ruchu Obywatelskiego Akcja Demokratyczna. W latach 1991–1994 należał do Unii Demokratycznej. Od 1994 do 2005 należał do Unii Wolności. W 2005 został członkiem powstałej z jej przekształcenia Partii Demokratycznej – demokraci.pl, a w 2016 jej kontynuatorki – Unii Europejskich Demokratów.
W wyborach w 1991, 1993 i 1997 uzyskiwał mandat posła na Sejm I, II i III kadencji z listy kolejno UD i UW z okręgów warszawskich: nr 1 (1991–1993) i nr 1 (1993–2001). W komisjach sejmowych zajmował się głównie budżetem, sprawami gospodarczymi oraz samorządem terytorialnym. W latach 1991–2004 był przewodniczącym delegacji polskiej do Zgromadzenia Parlamentarnego Rady Europy.