work around gcc46 compiler bug