Theiretical fix for #525, except GCC can't quite manage it.