diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 8f7451f3c8e62b12c526dda3362c63708bdc45b8..4162ee45d0433a689d80d63460b5c3a3b3a7236c 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -701,6 +701,8 @@ cifs_do_mount(struct file_system_type *fs_type,
 
 	if (sb->s_fs_info) {
 		cFYI(1, "Use existing superblock");
+		unload_nls(cifs_sb->local_nls);
+		kfree(cifs_sb);
 		goto out_shared;
 	}