Do 1985 związany był z Polska Zjednoczoną Partią Robotniczą, przez kolejne 10 lat z Socjaldemokracją Rzeczypospolitej Polskiej, a następnie z Sojuszem Lewicy Demokratycznej. W latach 90. na bydgoskiej uczelni technicznej uzyskał tytuł profesora. W 1993 roku z Bydgoszczy został wybrany z list SLD na posła, mandat ten sprawował do 1997 roku. W latach 2001-2005 pełnił mandat senatora, również z Bydgoszczy.