diff --git a/src/pio_server.c b/src/pio_server.c
index 9eb07965ae91dd56fe61996a37b6e2793a9af0c4..dd7a89a5a141ff17a796c86e7e7d3137994294bf 100644
--- a/src/pio_server.c
+++ b/src/pio_server.c
@@ -1057,7 +1057,7 @@ writeGribStream(size_t streamIdx,
       {
         size_t varIdx = (size_t)-1;
         int varID = -1;
-        size_t base = 0;
+        size_t recordDataOfs = 0;
         const double *data = *data_;
         for (size_t recordIdx = myRecordStart;
              recordIdx <= myRecordEnd;
@@ -1071,9 +1071,9 @@ writeGribStream(size_t streamIdx,
             size_t nvals = recordSize / sizeof (double);
             int nmiss
               = countVarChunkMissingVals(vlistID, varID, mapping, (int)nvals,
-                                         data + base);
-            streamWriteVarSlice(streamID, varID, level, data + base, nmiss);
-            base += nvals;
+                                         data + recordDataOfs);
+            streamWriteVarSlice(streamID, varID, level, data + recordDataOfs, nmiss);
+            recordDataOfs += nvals;
           }
         aggBufFlush(streamIdx, cdiPioFileWrite);
       }