diff --git a/ChangeLog b/ChangeLog
index d66301f861bbf1f135d2d5920159830a32cdfd5d..6a04dd414b5f86749b487c2a220a5cb6c37d5f67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2023-04-06  Uwe Schulzweida
+
+	* Version 2.2.1 released
+
+2023-03-13  Uwe Schulzweida
+
+	* set chunkSizeMin to 256k
+
 2023-03-02  Uwe Schulzweida
 
 	* add async_worker support for NCZARR
diff --git a/src/cdf_write.c b/src/cdf_write.c
index e40b6226c60bacbb0e872db91a77eaec9bd569f2..d0d112c6e736f663bc229a6dce83d1a5a4dd273b 100644
--- a/src/cdf_write.c
+++ b/src/cdf_write.c
@@ -703,14 +703,14 @@ calc_chunksize(size_t chunkSizeLim, size_t size)
   return chunkSize;
 }
 
-static const size_t chunkSizeMax = 65536;
+static const size_t chunkSizeMin = 262144;
 static const size_t chunkSizeLim = 1048576;
 
 size_t
 calc_chunksize_y(int chunkType, size_t gridsize, size_t xsize, size_t ysize)
 {
   if (chunkType == CDI_CHUNK_AUTO)
-    return (gridsize <= chunkSizeMax) ? ysize : chunkSizeMax / xsize;
+    return (gridsize <= chunkSizeMin) ? ysize : chunkSizeMin / xsize;
   else
     return (chunkType == CDI_CHUNK_LINES) ? 1 : ysize;
 }
@@ -719,7 +719,7 @@ size_t
 calc_chunksize_x(int chunkType, int chunkSize, size_t xsize, bool yIsUndefined)
 {
   if (chunkType == CDI_CHUNK_AUTO && yIsUndefined)
-    return (chunkSize > 0) ? (size_t) chunkSize : ((xsize <= chunkSizeMax) ? xsize : chunkSizeMax);
+    return (chunkSize > 0) ? (size_t) chunkSize : ((xsize <= chunkSizeMin) ? xsize : chunkSizeMin);
   else
     return calc_chunksize(chunkSizeLim, xsize);
 }