diff --git a/fs/dcache.c b/fs/dcache.c
index 40469044088def2607d19540ef0cb8dcce78ac91..3d4be6f8e49eaf79d346945a9c19801f9238f120 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1650,9 +1650,8 @@ struct dentry *d_splice_alias(struct inode *inode, struct dentry *dentry)
 
 	if (inode && S_ISDIR(inode->i_mode)) {
 		spin_lock(&inode->i_lock);
-		new = __d_find_alias(inode, 1);
+		new = __d_find_any_alias(inode);
 		if (new) {
-			BUG_ON(!(new->d_flags & DCACHE_DISCONNECTED));
 			spin_unlock(&inode->i_lock);
 			security_d_instantiate(new, inode);
 			d_move(new, dentry);