diff --git a/source/blender/blenkernel/intern/volume_grid.cc b/source/blender/blenkernel/intern/volume_grid.cc index d30c2149021..3002bcd05ac 100644 --- a/source/blender/blenkernel/intern/volume_grid.cc +++ b/source/blender/blenkernel/intern/volume_grid.cc @@ -275,14 +275,17 @@ void VolumeGridData::ensure_grid_loaded() const }); if (!loaded_grid) { if (grid_) { - /* Create a dummy grid of the expected type. */ - loaded_grid = grid_->createGrid(""); - } - else { - /* Create a dummy grid. We can't really know the expected data type here. */ - loaded_grid = openvdb::FloatGrid::create(); + const openvdb::Name &grid_type = grid_->type(); + if (openvdb::GridBase::isRegistered(grid_type)) { + /* Create a dummy grid of the expected type. */ + loaded_grid = openvdb::GridBase::createGrid(grid_type); + } } } + if (!loaded_grid) { + /* Create a dummy grid. We can't really know the expected data type here. */ + loaded_grid = openvdb::FloatGrid::create(); + } BLI_assert(loaded_grid); BLI_assert(loaded_grid.unique()); BLI_assert(loaded_grid->isTreeUnique());