fixes a race condition that caused '^' to hang