diff --git a/ChangeLog b/ChangeLog
index cd82acb791a0e3e29a4e0aa413a127df3d865ffb..611c391f5db060d9dcb91ba6d9ec1d1c254a66b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2022-01-28  Uwe Schulzweida
+
+	* gribIterator::gridGenerate: copy CDI_KEY_UUID (bug fix)
+
 2022-01-12  Uwe Schulzweida
 
 	* GRIB read: recalculate start date/time for every record and timestep (bug fix) [report: Johannes Schick]
diff --git a/src/grid.c b/src/grid.c
index c9adda6688f5f8a2acafcf872825fcbcce1527bf..bc7ba8bf2992b11ff2281fc1d7088dc53a1a240e 100644
--- a/src/grid.c
+++ b/src/grid.c
@@ -2790,6 +2790,8 @@ gridGenerate(const grid_t *grid)
 
   gridComplete(gridptr);
 
+  cdiCopyVarKey(&grid->keys, CDI_KEY_UUID, &gridptr->keys);
+
   return gridID;
 }