Sachverhalt: Mit Verfügung vom 26. März 2004 sprach die IV-Stelle des Kantons Zürich A._ (geb. 1954) eine befristete ganze Invalidenrente vom 1. Dezember 2002 bis 31. Oktober 2003 zu. Daran hielt sie mit Einspracheentscheid vom 4. Juni 2004 fest. Die dagegen erhobene Beschwerde hiess das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 3. August 2005 teilweise gut, indem es A._ eine ganze Rente bis 31. Dezember 2003 sowie eine halbe Rente für den Januar 2004 zusprach. A._ lässt Verwaltungsgerichtsbeschwerde führen und beantragen, es sei ihm über den 1. Januar 2004 hinaus eine ganze Invalidenrente auszurichten. Eventuell sei die Sache zur Gewährung beruflicher Massnahmen an die IV-Stelle zurückzuweisen. Ausserdem lässt A._ um unentgeltliche Verbeiständung ersuchen. Die IV-Stelle schliesst auf Abweisung der Verwaltungsgerichtsbeschwerde, während das Bundesamt für Sozialversicherung auf eine Vernehmlassung verzichtet. 