Następnie pracował w Komisji Planowania przy Radzie Ministrów, a w 1982 został zatrudniony w Instytucie Nauk Ekonomicznych PAN.

Działalność polityczna Należał do Związku Młodzieży Socjalistycznej, z którego został usunięty w 1967. W 1968 brał udział w protestach studenckich przeciwko zdjęciu spektaklu Dziady. W tym samym roku został z powodów politycznych relegowany ze studiów. Od 1976 był współpracownikiem Komitetu Obrony Robotników. W 1980 przystąpił do „Solidarności”, był członkiem zarządu Regionu Mazowsze, delegatem na I Krajowy Zjazd Delegatów w Gdańsku i doradcą Komisji Krajowej związku. W listopadzie 1980 został członkiem Towarzystwa Kursów Naukowych, w okresie stanu wojennego został na kilka dni internowany. Był uczestnikiem obrad Okrągłego Stołu. W 1989 uzyskał mandat posła na Sejm kontraktowy z ramienia Komitetu Obywatelskiego.

W 1990 był wśród założycieli Solidarności Pracy, rok później z listy tego stowarzyszenia został wybrany na posła I kadencji. W styczniu 1993 został przewodniczącym współtworzonej przez SP w 1992 partii Unia Pracy. W wyborach parlamentarnych w 1993 po raz trzeci objął mandat poselski, gdy kierowane przez niego ugrupowanie otrzymało wynik 7,28% głosów.