This was sometimes reporting a null when the timeout takes place. We need to throw with a timeout for real