diff --git a/security/selinux/avc.c b/security/selinux/avc.c
index f6012462364592068f8d801507a0dbcd6835ed20..1ed0f076aadcfebbce2b1b3eed1c679e87765bd9 100644
--- a/security/selinux/avc.c
+++ b/security/selinux/avc.c
@@ -868,6 +868,8 @@ u32 avc_policy_seqno(void)
 
 void avc_disable(void)
 {
+	avc_flush();
+	synchronize_rcu();
 	if (avc_node_cachep)
 		kmem_cache_destroy(avc_node_cachep);
 }