Z ramienia Sojuszu Lewicy Demokratycznej od 1991 do 2005 pełnił funkcję posła na Sejm I, II, III i IV kadencji, wybranego w okręgach katowickich: nr 36, nr 16 i nr 31. Przez 4 kadencje zasiadał w Komisji Ochrony Środowiska, Zasobów Naturalnych i Leśnictwa, był jej wiceprzewodniczącym (1993–1997) i przewodniczącym (1997–2001).
Od października 2001 pełnił funkcję sekretarza stanu w Ministerstwie Środowiska. 3 marca 2003 po opuszczeniu koalicji rządowej przez Polskie Stronnictwo Ludowe zastąpił na stanowisku ministra środowiska Stanisława ŻelichowskiegoPostanowienie Prezydenta Rzeczypospolitej Polskiej z dnia 3 marca 2003 r. o zmianie w składzie Rady Ministrów ().. Urząd ministra sprawował do dymisji rządu Leszka Millera w maju 2004Postanowienie Prezydenta Rzeczypospolitej Polskiej z dnia 2 maja 2004 r. o przyjęciu dymisji Rady Ministrów ()..
W wyborach parlamentarnych w 2005 nie kandydował. W przedterminowych wyborach w 2007 bez powodzenia ubiegał się o mandat posła z listy koalicji Lewica i Demokraci.