Alternate fix, closer to original. Either works for MSVC 2012 & MinGW, someone needs to test with ICC (nw)