diff --git a/src/cdf_write.c b/src/cdf_write.c
index d03d6a939cc92f679dea05f121f2ab27c4420629..fbb32cefd0b9b6ed580197ed4a29dc26d2b23f32 100644
--- a/src/cdf_write.c
+++ b/src/cdf_write.c
@@ -946,6 +946,11 @@ cdfDefVarChunkCache(int fileID, int ncvarID)
   size_t size = 0;
   size_t nelems = 0;
   float preemption = 0;
+  if (CDI_Chunk_Cache > 0 && nc_get_var_chunk_cache(fileID, ncvarID, &size, &nelems, &preemption) == NC_NOERR)
+    {
+      size = CDI_Chunk_Cache;
+    }
+
   nc_set_var_chunk_cache(fileID, ncvarID, size, nelems, preemption);
 }