This thread sorely needs a lock.