W październiku 1980 został członkiem „Solidarności”. W latach 1980–1981 pełnił funkcję doradcy „Solidarności” i „Solidarności” Rolników Indywidualnych podczas strajków chłopskich w Rzeszowie i Ustrzykach Dolnych (był współautorem porozumień rzeszowsko-ustrzyckich). Organizował Sieć Organizacji Zakładowych „Solidarności” Wiodących Zakładów Pracy Śląska. Przewodniczył zespołowi rolnemu Społecznej Rady Legislacyjnej. Po wprowadzeniu stanu wojennego był internowany w okresie od 13 grudnia 1981 do 16 stycznia 1982. Protestując przeciw działaniom władz komunistycznych, w lutym 1982 wystąpił z PZPR. Był uczestnikiem prac Centrum Obywatelskich Inicjatyw Ustawodawczych Solidarności.
Jako reprezentant strony opozycyjnej brał udział w obradach Okrągłego Stołu. W 1989 z ramienia Komitetu Obywatelskiego uzyskał mandat posła na Sejm kontraktowy, w którym objął przewodnictwo Komisji Samorządu Terytorialnego. Był współzałożycielem i wiceprezesem Fundacji Rozwoju Demokracji Lokalnej. 23 maja 1991 został wybrany przez Sejm RP na prezesa Najwyższej Izby Kontroli (w głosowaniu uzyskał 203 głosy, a jego kontrkandydat Wiesław Woda z PSL – 126)Uchwała Sejmu Rzeczypospolitej Polskiej z dnia 23 maja 1991 r. w sprawie powołania Prezesa Najwyższej Izby Kontroli ().. W swoim ostatnim wywiadzie, przeprowadzonym dla tygodnika „Tak i Nie”, powiedział m.in.