Botão ajax só chama servidor na segunda vez que é pressionado

Boa noite estou com um problema esquisito no trabalho!
O meu botão a4j:commandButton só chama o método na segunda vez que o pressiono! Já tentei de várias maneiras e continua funcionando da mesma forma! Alguma idéia?

Tela:

<!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:ui="http://java.sun.com/jsf/facelets"  
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:rich="http://richfaces.org/rich"
    xmlns:exemploFace="http://facelets.exemplo.com.br"
    xmlns:a4j="http://richfaces.org/a4j">
<h:body>  
     
        
  			
  			<br/>
  			<h:form id="cadastroForm">
            <rich:panel styleClass="painelGeral, painelHome" header="Cadastro de clientes" >  
                <h:panelGrid columns="3">
                	<h:outputText value="Nome:"/>
                	<h:inputText value="#{cadastroBean.nome}"/>
                	
                	<br/>
                	
                	
                	
                	<h:outputText value="Endereço:"/>
                	<h:inputText />

                	<br/>
                	
                	<h:outputText value="CPF:"/>
                	<h:inputText value="#{cadastroBean.cpf}"/>

                	<br/>
                	
                	<h:outputText value="Idade:"/>
                	<h:inputText value="#{cadastroBean.idade}"/>
                	
                	<br/>
                	
                	<h:outputLabel value="Sexo:"/>
                	<h:selectOneRadio id="sexo" layout="pageDirection">
					<f:selectItem itemValue="M" itemLabel="Masculino"/>
					<f:selectItem itemValue="F" itemLabel="Feminino"/>
					</h:selectOneRadio>
                
                	<a4j:commandButton value="botao" id="btn" actionListener="#{cadastroBean.testeF}"> <!-- Exatamente AQUI -->
                	</a4j:commandButton>
                	
                	
                <exemploFace:popupRua />
                
      				<h:commandButton value="Gravar"  >  
                        <rich:componentControl target="popup" operation="show" />  
                    </h:commandButton>           
                </h:panelGrid>		
               
            </rich:panel>  
            </h:form>
  
        <h:form> 
        
        
        </h:form>
  
</h:body>  
  
</html>  

Bean:

package com.cadastro.bean;

import javax.faces.event.ActionEvent;

public class CadastroBean {
	
	private String nome;
	private String endereco;
	private String cpf;
	private String idade;
	
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public String getIdade() {
		return idade;
	}
	public void setIdade(String idade) {
		this.idade = idade;
	}
	
	public void testeF(ActionEvent event){
		System.out.println("gskljf");
		
	}

}

Estou usando RichFaces e JSF 2.0

Já tentou fazer sem actionListener ?

<a4j:commandButton value=“botao” id=“btn” action="#{cadastroBean.testeF}"></a4j:commandButton>

 public void testeF(){  
        System.out.println("Teste");  
          
    }  

ja sim e continua da msm forma!