Podczas wyborów prezydenckich w 1990 był szefem sztabu kandydata SdRP na prezydenta Włodzimierza Cimoszewicza, który w I turze zajął 4. miejsce. Od 1990 do 1994 wykonywał mandat radnego MokotowaSejm Rzeczypospolitej Polskiej: IV kadencja: przewodnik, Wydawnictwo Sejmowe, Warszawa 2002, s. 145.. W latach 1993–1997 zasiadał w Sejmie II kadencji z listy Unii Pracy (w wyborach uzyskał w okręgu warszawskim 1314 głosówObwieszczenie Państwowej Komisji Wyborczej z dnia 23 września 1993 r. o wynikach wyborów do Sejmu Rzeczypospolitej Polskiej przeprowadzonych w dniu 19 września 1993 r. ().). Nie został ponownie wybrany w 1997. W wyborach samorządowych w 1998 bezskutecznie kandydował do Rady Warszawy z listy koalicji Przymierze Społeczne.
W wyborach parlamentarnych w 2001 po raz drugi uzyskał mandat poselski z okręgu radomskiego z listy koalicji SLD-UP. W Sejmie IV kadencji wybrano go na stanowisko wicemarszałka. Do końca marca 2004 pełnił funkcję wiceprzewodniczącego Unii Pracy. W latach 2003–2004 przewodniczył sejmowej komisji śledczej badającej „aferę Rywina”. 1 kwietnia 2004 przystąpił do zakładanej przez Marka Borowskiego Socjaldemokracji Polskiej.