Od 1988 był członkiem Komitetu Obywatelskiego przy Lechu Wałęsie, brał udział w rozmowach Okrągłego Stołu. W latach 1989–1991 zasiadał w Senacie I kadencji. Na II KZD „Solidarności” w 1990 został wybrany w skład prezydium Komisji Krajowej, gdzie odpowiadał za kontakty zagraniczne. Od 1991 nie uczestniczył w działalności politycznej, podejmując działalność w biznesie.
Od 1997 należał do Unii Wolności. W latach 1998–2002 zasiadał w sejmiku pomorskim. W wyborach samorządowych w 2002 bez powodzenia ubiegał się o reelekcję z listy komitetu Unia Samorządowa. W czerwcu 2003 został członkiem zarządu UW, następnie Partii Demokratycznej – demokraci.pl. Kandydował bez powodzenia do Sejmu w 2001 i 2005. W wyborach parlamentarnych w 2007 wystartował z 1. miejsca komitetu wyborczego Lewica i Demokraci w okręgu gdańskim. Został wybrany na posła VI kadencji liczbą 12 468 głosów. Przystąpił do powołanego 9 kwietnia 2008 Demokratycznego Koła Poselskiego, zostając jego przewodniczącym. W czerwcu 2009 wraz Marianem Filarem opuścił Partię Demokratyczną. Na początku lipca tego samego roku przystąpił wraz z innymi posłami DKP do Stronnictwa Demokratycznego, w wyniku czego 16 lipca 2009 zostało ono przemianowane na DKP SD.