Problema com a4j:support, não atualiza combo

Pessoas,

estou tentando fazer um combo de estados atualizar dinamicamente o de cidades através do ajax4jsf. Quero manter o list de estados dentro de um mbean e o de cidades em outro, para poder reutilizá-los.

Porém, estou tendo um problema, pois o cidadeMBean está sempre com o objeto estado null, logo não consigo filtrar as cidades pelo estado.

Segue abaixo o código do que estou tentando fazer:

<h:selectOneMenu id="estado" value="#{pessoaMBean.pessoa.estado}" styleClass="selectComum" style="width:45px;">
	<f:selectItems value="#{estadoMBean.comboEstados}" />
	<a4j:support event="onchange" action="#{cidadeMBean.load}" ajaxSingle="true" reRender="cidade"/>
</h:selectOneMenu> 	


<h:selectOneMenu id="cidade" value="#{pessoaMBean.pessoa.cidade.id}" styleClass="selectComum" style="width:45px;">
	<f:selectItems value="#{cidadeMBean.comboCidades}" />
</h:selectOneMenu> 
public class CidadeMBean {

	private List<SelectItem> comboCidades;
	private List<Cidade> cidades;
	private Cidade cidade;
	private CidadeDAO cidadeDAO;
	private Estado estado;
	
	private static final Logger log = Logger.getLogger(CidadeMBean.class);
	
	public void load() {
		CidadeMBean.log.info("load() estado: " + estado);
		this.comboCidades = cidadeDAO.getSelectListCidadesByEstado(estado);	
	}

	public List<SelectItem> getComboCidades() {
		CidadeMBean.log.info("getComboCidades() estado: " + estado);
		load();
		CidadeMBean.log.info("apos load()" + comboCidades.size());
		return comboCidades;
	}
	// ...
}
@Transactional
public class EstadoMBean {

	private List<SelectItem> comboEstados;
	private List<Estado> estados;
	private Estado estado;
	private EstadoDAO estadoDAO;
	
	private static final Logger log = Logger.getLogger(EstadoMBean.class);
	
	public List<Estado> getEstados() {
		this.estados = estadoDAO.getListEstados();
		
		EstadoMBean.log.info("getEstados()" + estados.size());
		return estados;
	}

	public void setEstados(List<Estado> estados) {
		this.estados = estados;
	}

	public List<SelectItem> getComboEstados() {
		this.comboEstados = estadoDAO.getSelectListEstados();
		
		EstadoMBean.log.info("getComboEstados()" + comboEstados.size());
		return comboEstados;
	}
	// ...
}

Ninguem nunca usou o ajax4jsf para popular uma select usando dois beans diferentes?

Ninguém tem um exemplo de funcionalidade similar funcionando?