fix for gcc 4.6 scoping rules