Componentes não atualizam

Bom, tenho uma página em JSF que dependendo da forma de pagamento do usuário é mostrado um dialog com determinadas opções, mas parece que estas opções não estão atualizando de jeito nenhum. Veja minha página abaixo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	xmlns:pe="http://primefaces.org/ui/extensions">

<h:head>

</h:head>
<h:body>
	<ui:composition>
		<h:form id="formPagamento" enctype="multipart/form-data">

			<p:dialog id="dialogPagamento" width="500px" height="90px"
				header="Pagamento" widgetVar="dialogPagamento" modal="true"
				showEffect="fade" hideEffect="fade">

				<p:panelGrid columns="2" styleClass="semBorda">
					<h:outputText value="Forma de Pagamento:" />
					<p:selectOneMenu id="selectOneMenuFormaPagamento"
						converter="entityConverter"
						value="#{orcamentoMB.historicoPagamentoOrcamento.formaPagamento}"
						effect="fade" required="true"
						requiredMessage="A forma de pagamento é obrigatória">
						<f:selectItem itemLabel="Selecione uma Forma de Pagamento"
							itemValue="" />
						<f:selectItems value="#{orcamentoMB.formasPagamento}"
							var="formaPagamento" itemLabel="#{formaPagamento.descricao}"
							itemValue="#{formaPagamento}" />
					</p:selectOneMenu>

					<p:commandButton icon="ui-icon-play" value="Continuar"
						id="continuarPagamento" process="selectOneMenuFormaPagamento"
						update=":formPagamento:inputTextNumeroCartao, :formPagamento:inputNumberQuantidadeParcelas,	:formPagamento:selectOneMenuBandeira"
						oncomplete="if (!args.validationFailed){ dialogPagamento.hide(); dialogPagamentoFinal.show(); }" />
				</p:panelGrid>
			</p:dialog>

			<p:dialog id="dialogPagamentoFinal" width="500px" height="200px"
				header="Pagamento" widgetVar="dialogPagamentoFinal" modal="true"
				showEffect="fade" hideEffect="fade">

				<p:panelGrid columns="2" styleClass="semBorda">

					<h:outputText value="Valor: *" />
					<pe:inputNumber
						value="#{orcamentoMB.historicoPagamentoOrcamento.valor}"
						symbol="R$ " required="true"
						requiredMessage="O valor é obrigatório" />

					<h:outputText value="Número Cartão: " />
					<p:inputText id="inputTextNumeroCartao"
						required="#{orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo == 'CREDITO' or 
						orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo == 'DEBITO'}"
						requiredMessage="O número do cartão é obrigatório"
						value="#{orcamentoMB.historicoPagamentoOrcamento.numeroCartao}"
						disabled="#{orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo != 'CREDITO' and orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo != 'DEBITO'}" />

					<h:outputText value="Quantidade Parcelas: " />
					<pe:inputNumber id="inputNumberQuantidadeParcelas"
						decimalPlaces="0"
						required="#{orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo == 'CREDITO'}"
						requiredMessage="A quantidade de parcelas é obrigatória"
						value="#{orcamentoMB.historicoPagamentoOrcamento.quantidadeParcelas}"
						disabled="#{orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo != 'CREDITO'}" />

					<h:outputText value="Bandeira do Cartão: " />
					<p:selectOneMenu id="selectOneMenuBandeira"
						required="#{orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo == 'CREDITO' or 
						orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo == 'DEBITO'}"
						requiredMessage="A Bandeira do Cartão é obrigatória"
						disabled="#{orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo != 'CREDITO' and 
						orcamentoMB.historicoPagamentoOrcamento.formaPagamento.codigo != 'DEBITO'}"
						converter="entityConverter"
						value="#{orcamentoMB.historicoPagamentoOrcamento.bandeiraCartao}"
						effect="fade">
						<f:selectItem itemLabel="Selecione uma Bandeira" itemValue="" />
						<f:selectItems value="#{orcamentoMB.bandeiras}" var="bandeira"
							itemLabel="#{bandeira.descricao}" itemValue="#{bandeira}" />
					</p:selectOneMenu>

					<p:commandButton icon="ui-icon-disk" value="Finalizar"
						actionListener="#{orcamentoMB.finalizarPagamento}"
						update=":formOrcamentos:dataTableOrcamentos"
						oncomplete="if (!args.validationFailed) { dialogPagamentoFinal.hide(); }" />
				</p:panelGrid>
			</p:dialog>

		</h:form>
	</ui:composition>


</h:body>
</html>

Às vezes o Primefaces faz umas coisas desse tipo, mesmo… experimente envolver a parte interna do seu dialog com um p:outPutPanel e mande atualizar este outPutPanel.
Espero que ajude.