Erro ao chamar novamente uma página ligada a uma sessão destruido

Boa tarde,

Estou com o seguinte problema:

Tenho uma página de login e uma página de novo cadastro.

Para iniciar um novo cadastro o usuário, estando na tela de login, clica sobre o link Novo Cadastro. Após isto a tela de cadastro é aberta normalmente. Porém, se o usuário clicar em cancelar eu destruo o Bean que está ligado ao formulário e faço o sistema retornar para a tela de login.
Estando novamente na tela de login, eu clico novamente no link novo cadastro, na esperança que o bean seria criado novamente e a página de cadastro iria aparecer. Porém, é ai que se encontra o problema, pois é me retornado uma tela de erro com o código 404.

Segue abaixo os códigos.

@ManagedBean
@SessionScoped
public class NewPersonBean {
    //Atributos
    private HttpSession session;

    public NewPersonBean() {
        init();
    }

    public void destroy() {
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("NewPersonBean");
    }

    public String cancelar() {
        destroy();
        return "index";
    }

    private void init() {
        limparFoto(null);
        aceito = false;

        strAtual = "newpessoa";

        pessoaFisica = new PessoaFisica();
        email = new Email();
        senha = new Senha();
        endereco = new Endereco();

        imagens = new HashSet<Imagem>();
        enderecos = new HashSet<Endereco>();

        sexos = Sexo.list();
    }

//geters e seters
..........
            <h:form styleClass="right_content">
                <p:growl id="login"/>
                <h:panelGrid columns="2" cellpadding="2">
                    <h:outputLabel value="Identificador:" for="identificacao"/>
                    <p:inputText id="identificacao" value="#{autenticacaoBean.identificador}" required="true" requiredMessage="Insira um identificador!"/>
                    <h:outputLabel value="Senha:" for="senha"/>
                    <p:keyboard id="senha" password="true" value="#{autenticacaoBean.senha}" required="true" requiredMessage="Insira a sua senha de acesso!"/>
                    <h:outputLink id="lnkNovaPessoa" value="./paginas/newpessoa1.xhtml">
                        <f:verbatim>Novo Cadastro</f:verbatim>
                    </h:outputLink>
                    <h:commandLink value="Entrar" action="#{autenticacaoBean.entrar}"/>
                </h:panelGrid>
            </h:form>

Qualquer ajuda será bem vinda. Obrigado.

Consegui resolver o problema alterando o código:

        <h:outputLink id="lnkNovaPessoa" value="./paginas/newpessoa1.xhtml">  
            <f:verbatim>Novo Cadastro</f:verbatim>  
        </h:outputLink>

para

<h:commandLink id="lnkNovaPessoa" value="Novo Cadastro" action="newpessoa" immediate="true"/>

e acrescentando o seguinte trecho no facesconfig.xml

    <navigation-rule>
        <from-view-id>*</from-view-id>
        <navigation-case>
            <from-outcome>newpessoa</from-outcome>
            <to-view-id>/paginas/newpessoa1.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>

Depois de ter feito isto, ocorreu um novo problema que e a falha no componente p:inputMask, que perde a máscara. Alguém sabe como posso resolver este problema?

                    <p:inputMask id="txtDataDeNascimento" value="#{newPersonBean.pessoaFisica.dataDeNascimento}" binding="#{newPersonBean.dataNascimentoInput}" tabindex="2" validator="#{newPersonBean.validateIdade}" mask="99/99/9999" required="true" size="10" >
                        <f:convertDateTime locale="pt_BR" timeZone="America/Sao_Paulo" pattern="dd/MM/yyyy" />
                        <p:ajax event="blur" />
                    </p:inputMask>