diff --git a/fs/ocfs2/acl.c b/fs/ocfs2/acl.c
index bb981ec76456b40a17c5fdbfa91e8f33eaaf3635..7b07f5df3a299aa8ffa662a15785fe574e49a1eb 100644
--- a/fs/ocfs2/acl.c
+++ b/fs/ocfs2/acl.c
@@ -256,6 +256,8 @@ static int ocfs2_set_acl(handle_t *handle,
 		ret = ocfs2_xattr_set(inode, name_index, "", value, size, 0);
 
 	kfree(value);
+	if (!ret)
+		set_cached_acl(inode, type, acl);
 
 	return ret;
 }