The reason of this issue can be found in the MyFaces implementation of ui:include tag handler. ui:include facet is used by component-showcase to dynamically change the content of the demo panel when navigating between the different components. The tag handler tries to evaluate the expression bound to its "src" attribute during restore view phase, unfortunately the DeltaSubmitPhaseListener reconstructs the full set of parameters only before apply request value phase (which comes later than restore view). Because of this the "src" attribute expression is calculated using only the submitted parameters which don't make much sense yet for the used components. That is why the second click triggers the desired navigation, because the expression is calculated off the parameters that were reconstructed during the last request.
Linking to the parent MyFaces compatibility case.