Use more checks in touch agent to avoid extra cycles