I think you need verify session data before you want to show captcha. If captha is entered previously, you simple don't show it, else - show captha. Or I don't understand what you need?
i think we only need captcha to prevent our system from machine. So if our system has known that who access to our system is truly human...the captcha doesn't need anymore