check all code but no duplicate id found
<h:form method="post" id="form2" binding="#{user.load}">
<table>
<p:commandLink id="id1" action="#{user.screen1}" />
<p:commandLink id="id2" action="#{user.screen2}" />
</table>
<ui:include src="screen1.xhtml"></ui:include>
<ui:include src="screen2.xhtml"></ui:include>
</h:form>
screen1 xhtml file
<h:form method="post" id="form1" binding="#{new.qload}" >
<table>
<p:inputText id="ip1" value="#{new.firstname}" />
<p:commandLink id="submit" action="#{new.save}" />
</table>
</h:form>
try this in web.xml
<context-param>
<param-name>com.ibm.ws.jsf.storeDynamicClientIds</param-name>
<param-value>true</param-value>
</context-param>
try with prepend true flase both condition not working issue is found in starting of form