Block a user
Return overwrite
I'm actually embarrassed about this one. After spending a day or two working on other things, i realised that i was actually trying to deallocate the register used to input the value. Instead i was deallocating the one used to output, hence... stupid bug.