Od grudnia 2004 do czerwca 2008 pełnił funkcję wiceprzewodniczącego partii.
W 1996 i 1997 obejmował mandat posła na Sejm kolejno II i III kadencji, w 2001 kandydował bez powodzenia do Sejmu IV kadencji. W październiku 2001 powołano go na stanowisko wiceprezesa Urzędu Mieszkalnictwa i Rozwoju Miast, pełnił tę funkcję do czasu likwidacji instytucji w grudniu 2003. W latach 2004–2005 był podsekretarzem stanu w Ministerstwie Infrastruktury. Od 2000 do 2008 był prezesem Uczniowskiego Koszykarskiego Klubu Sportowego „Leszno 2000”. Od 2004 do 2011 pracował jako doradca dyrektora generalnego Poczty Polskiej.
W 2005 powrócił do Sejmu po czteroletniej przerwie. W wyborach parlamentarnych w 2007 po raz czwarty został posłem, kandydując z listy koalicji Lewica i Demokraci w okręgu kaliskim i otrzymując 10 579 głosów. W kwietniu 2008 zasiadł w Klubie Poselskim Lewica, który we wrześniu 2010 przekształcono w KP SLD. W 2011 nie został ponownie wybrany. W 2014 bez powodzenia kandydował do Parlamentu Europejskiego, powrócił natomiast do Sejmiku Województwa Wielkopolskiego, utrzymując mandat również w 2018. W 2015 ponownie był kandydatem SLD na posła w ramach Zjednoczonej Lewicy. W 2018 został wybrany na przewodniczącego sejmiku VI kadencji.