And his city pension is more than modest. It's the highest of any retired union leader: $158,000. That's roughly five times greater than what the typical retired city worker receives.
Gannon's inflated pension is a prime example of how government officials and labor leaders have manipulated city pension funds at the expense of union workers and taxpayers. Like other labor leaders, he was able to take a long leave from a city job to work for a union and then receive a city pension based on a high union salary.
But in a new twist, a Tribune/WGN-TV investigation has found that Gannon is eligible for the lucrative pension deal only because City Hall rehired the former Streets and Sanitation Department worker for a single day in 1994, then granted him an indefinite leave of absence.
Gannon quickly rose to become one of the most powerful labor leaders in the city, speaking on behalf of more than 300 Chicago-area unions as president of the Chicago Federation of Labor.
State law allowed Gannon to retire from the city in 2004, the year he turned 50; since then, he has received about $1 million from his city pension. He stands to collect approximately $5 million during his lifetime, according to an analysis based on the fund's actuarial assumptions.
Until last year, that pension came on top of Gannon's union salary, which had grown to more than $240,000. He now draws the pension while working for a hedge fund, Grosvenor Capital Management, that does work with public pensions, including the Teachers Retirement System of Illinois. The firm also was one of Mayor Rahm Emanuel's largest campaign contributors.
Gannon declined to be interviewed for this story but issued a statement through a spokesman for the Illinois Sports Facilities Authority, where he is a board member.
"I am extremely proud of my many years of service to the city of Chicago and the working men and women of organized labor," Gannon wrote. "I have always followed the pension laws governed by the state of Illinois statute as well as the city of Chicago municipal pension plan."
Terrance Stefanski, who oversees the city's municipal pension fund, confirmed that the city helped Gannon qualify for an inflated pension by hiring him for a day. But he said he has no control over city hiring and must follow the pension laws.
"Once the city rehired him and he went on a leave of absence to work for the union, he was eligible under the law," Stefanski said.
Streets and San officials provided a statement about Gannon's one-day hiring: "This was a personnel matter that happened more than 16 years ago, and at this time we don't have all of the details needed to determine exactly why these decisions were made."
Gannon's inflated city pension is one of at least 23 handed out to union leaders who have retired from the city, records uncovered by the Tribune and WGN-TV show. The joint investigation revealed Wednesday how the legislation that created the pension perk for union leaders found its way in to the state statutes with no transparency or accountability.
Gannon started his climb to the top of organized labor in 1973. He was 19 years old and made $6.95 an hour working for Streets and San as a steamroller engineer, compressing asphalt on city streets.
During the next 17 years, he worked his way into the role of hoisting engineer foreman, overseeing the use of heavy cranes at road construction sites at a salary of about $56,000. He also gravitated toward union politics. By 1990, Gannon had been tapped to become a business agent with Local 150 of the International Union of Operating Engineers.
"It is with mixed emotions that I am requesting a leave of absence from my position as general foreman of hoisting engineers," he wrote to his bosses at Streets and San in December 1990.
Although he was leaving city service, Gannon moved to take advantage of the law that allowed him to stay in the municipal pension fund. In April 1991, records show, Gannon had Local 150's business manager write a letter on his behalf making that request.
Only a few months earlier, on his last day in office, Gov. Jim Thompson had signed into law the pension code changes that would allow Gannon's city pension to be based on his salary as a union official.