cache flag might come after / before execution, so you might be setting the flag when it has been set by the user..., I would check it after the parsing