It is a bug of JSF,JAVASERVERFACES_SPEC_PUBLIC-790 , and will be fixed in version 2.3. (thanks to BalusC for correcting my post.)
You can use this script to solve the issue.
Here is a good answer about the invokation of commandLink and commandButton. I also suggest you to design your page accordingly.
However, there is a PrimeFaces solution which works for me. It works if you give the button which form will be proceed and which will be rendered after ajax request.
<h:form id="page1">
<p:commandButton value="" action="#{some_action}">
<f:ajax execute="@form" render=":page2" />
</p:commandButton>
</h:form>
your action returns to page2
<h:form id="page2">
Some Components
</h:form>