diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 609f3bbbd1ed64ed7a65bcaf39f3c2ee941fc0b1..5132c9af888ace1a0b8791a00c27daf6214daacc 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -2676,7 +2676,8 @@ int btrfs_unlink_inode(struct btrfs_trans_handle *trans,
 
 	ret = btrfs_del_dir_entries_in_log(trans, root, name, name_len,
 					   dir, index);
-	BUG_ON(ret);
+	if (ret == -ENOENT)
+		ret = 0;
 err:
 	btrfs_free_path(path);
 	if (ret)