diff --git a/xarray/core/parallel.py b/xarray/core/parallel.py index c2e27a4f339..895e939c505 100644 --- a/xarray/core/parallel.py +++ b/xarray/core/parallel.py @@ -540,10 +540,14 @@ def subset_dataset_to_block( dependencies=[arg for arg in npargs if dask.is_dask_collection(arg)], ) - for gname_l, layer in new_layers.items(): - # This adds in the getitems for each variable in the dataset. - hlg.dependencies[gname_l] = {gname} - hlg.layers[gname_l] = layer + # This adds in the getitems for each variable in the dataset. + hlg = HighLevelGraph( + {**hlg.layers, **new_layers}, + dependencies={ + **hlg.dependencies, + **{name: {gname} for name in new_layers.keys()}, + }, + ) result = Dataset(coords=indexes, attrs=template.attrs) for index in result.indexes: