fixing deadlock potential with lazy deferred