I forgot to fix this one before pushing, despite my tests. lockon_ptr is only used to compare pointers, it doesn't need to point to a writable location. Without threads the atomic store is turned into an assignment and rightfully complains.