W latach 1951-1955 był inspektorem Wojewódzkiej Komisji Planowania Gospodarczego we Wrocławiu. W latach 1961-1981 był kierownikiem redakcji reportaży Polskiego Radia. W 1990 roku był współzałożycielem stowarzyszenia Solidarność Pracy. Od 1991r jest członkiem Unii Pracy, której od 1997 jest prezesem. Od 1998 roku jest prezesem Zarządu Głównego Polskiego Czerwonego Krzyża. Był posłem X, I i II kadencji - podczas II kadencji był wicemarszałkiem Sejmu. Był marszałkiem Sejmu Seniorów I, II i IV kadencji. Był posłem na Sejm IV kadencji i zasiadał w Komisji Spraw Zagranicznych.