DataTable com filtro não atualiza

Boa tarde galera!

Estou com problema na tela de listagem de Cursos, pois o mesmo não atualiza o formulário após tentar deletar um curso filtrado na lista, o campo é deletado, porém sou obrigado a dar um “refresh” na página para que a linha desapareça. Tentei usar o atributo FILTEREDVALUE, sem sucesso até o momento.

Sem o filtro, eu removo normalmente!

CursoBean.java

package escola.musica.bean;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import escola.musica.dao.CursoDAO;
import escola.musica.dao.GenericDAO;
import escola.musica.modelo.Curso;
import escola.musica.modelo.TipoCurso;

@ManagedBean
@ViewScoped
public class CursoBean implements Serializable {

	private static final long serialVersionUID = -862660658464075437L;
	
	private Curso curso;
	private List<TipoCurso> tipos;
	private List<Curso> cursos = new ArrayList<Curso>();
	private List<Curso> cursosAccordion = new ArrayList<Curso>();
	private List<Curso> cursosFiltrados;
	private Curso cursoExclusao;
	
	// Gerados manualmente
	public void iniciarBean() {
		cursos = new CursoDAO().listarTodos();
		cursosAccordion = CursoDAO.listarCursosAccordion();
		tipos = Arrays.asList(TipoCurso.values());
	}
	
	public void novoCurso() {
		curso = new Curso();
	}
	
	public void salvar() throws InterruptedException {
		Thread.sleep(2000);
		new GenericDAO<Curso>(Curso.class).salvar(curso);
		cursos = new GenericDAO<Curso>(Curso.class).listarTodos();
		
		// Exibe painel de listagem
		curso = null;
		FacesContext.getCurrentInstance().addMessage(null,
				new FacesMessage(FacesMessage.SEVERITY_INFO, "Cadastro", "Curso cadastrada com sucesso."));
	}
	
	public void excluir() {
		new CursoDAO().excluir(cursoExclusao);
		cursos = new CursoDAO().listarTodos();
		cursosFiltrados = null;
	}
	
	public void voltar() {
		this.curso = null;
	}
	
	public String getDataAtual() {
		return new SimpleDateFormat("dd/MM/yyyy").format(new Date());
	}
	
	// GET e SET

	public Curso getCursoExclusao() {
		return cursoExclusao;
	}

	public List<Curso> getCursosFiltrados() {
		return cursosFiltrados;
	}

	public void setCursosFiltrados(List<Curso> cursosFiltrados) {
		this.cursosFiltrados = cursosFiltrados;
	}

	public void setCursoExclusao(Curso cursoExclusao) {
		this.cursoExclusao = cursoExclusao;
	}		

	public List<Curso> getCursosAccordion() {
		return cursosAccordion;
	}

	public void setCursosAccordion(List<Curso> cursosAccordion) {
		this.cursosAccordion = cursosAccordion;
	}

	public void editar(Curso curso) {
		this.curso = curso;
	}

	public void prepararExclusao(Curso curso) {
		this.cursoExclusao = curso;
	}

	public List<Curso> getCursos() {
		return cursos;
	}

	public void setCursos(List<Curso> cursos) {
		this.cursos = cursos;
	}

	public List<TipoCurso> getTipos() {
		return tipos;
	}

	public void setTipos(List<TipoCurso> tipos) {
		this.tipos = tipos;
	}

	public Curso getCurso() {
		return curso;
	}

	public void setCurso(Curso curso) {
		this.curso = curso;
	}
}

curso_lista.xhtml

<!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:ui="http://java.sun.com/jsf/facelets"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:p="http://primefaces.org/ui">

    	<p:panel header="Cursos Cadastrados" style="width:90%;"
    		rendered="#{cursoBean.curso == null}">
    		<p:commandButton icon="fa fa-plus" value="Novo Curso" action="#{cursoBean.novoCurso}"
    			update="curso_form"/>
    		<br/><br/>
    		<p:dataTable value="#{cursoBean.cursos}" var="curso" filteredValue="#{cursoBean.cursosFiltrados}"
    			paginator="true" rows="10" rowsPerPageTemplate="5, 10, 15"
    			paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} 
    				{PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
    			id="tabela-cursos">
    			
    			<p:column style="width:300px;"
    				sortBy="#{curso.nome}" filterBy="#{curso.nome}" 
    				filterMatchMode="contains">
    				<f:facet name="header">
    					<h:outputText value="Nome"/>
    				</f:facet>
    				<h:outputText value="#{curso.nome}"/>
    			</p:column>
    			
    			<p:column headerText="Duração" style="width:80px;"
    				sortBy="#{curso.duracao}">
    				<h:outputText value="#{curso.duracao}"/>
    			</p:column>
    			
    			<p:column headerText="Tipo" filterBy="#{curso.tipo.label}" 
    				filterMatchMode="contains">
    				<h:outputText value="#{curso.tipo.label}"/>
    			</p:column>
    			
    			<p:column headerText="Data Criação" sortBy="#{curso.dataCriacao}">
    				<h:outputText value="#{curso.dataCriacao}">
    					<f:convertDateTime pattern="dd/MM/yyyy"/>
    				</h:outputText>
    			</p:column>
    			
    			<p:column style="text-align:center;" exportable="false">
    				<p:commandButton icon="editar-icon" action="#{cursoBean.editar(curso)}"
    					style="color:blue;" update=":curso_form"/>
    					
    				<p:commandButton icon="excluir-icon" 
    					actionListener="#{cursoBean.prepararExclusao(curso)}"
    					oncomplete="PF('confirmarExclusaoDialog').show();"
    					style="color:red; margin-left:20px;" update="@form"/>
    			</p:column>
    			
    		</p:dataTable>
    		<br/>
    		<h:commandLink>
    			<p:graphicImage value="/resources/imagens/exportar_xls.png"/>
                   <p:dataExporter type="xls" target="tabela-cursos" 
                   fileName="cursos" />
               </h:commandLink>
               
               <h:commandLink style="margin-left:10px;">
               	<p:graphicImage library="imagens" name="exportar_pdf.png"/>
                   <p:dataExporter type="pdf" target="tabela-cursos" 
                   fileName="cursos" encoding="iso-8859-1"/>
               </h:commandLink>
    		
    		<p:confirmDialog 
    			message="Deseja realmente excluir o curso #{cursoBean.cursoExclusao.nome}?"
    			widgetVar="confirmarExclusaoDialog">
    			<p:commandButton value="Sim" action="#{cursoBean.excluir}"
    				oncomplete="PF('confirmarExclusaoDialog').hide();" update=":curso_form:tabela-cursos"/>
    			<p:commandButton value="Não" oncomplete="PF('confirmarExclusaoDialog').hide();"/>
    		</p:confirmDialog>
    	</p:panel>
    </html>