diff --git a/fs/ufs/namei.c b/fs/ufs/namei.c
index 2346b83fa12baee5a6bc5f2fe572d382c051a74a..60ee32249b726cea42d92c9d58fcb166d7cfe61d 100644
--- a/fs/ufs/namei.c
+++ b/fs/ufs/namei.c
@@ -212,6 +212,7 @@ static int ufs_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode)
 		goto out_fail;
 	unlock_ufs(dir->i_sb);
 
+	unlock_new_inode(inode);
 	d_instantiate(dentry, inode);
 out:
 	return err;