diff --git a/src/pio_mpi_fw_at_reblock.c b/src/pio_mpi_fw_at_reblock.c
index 116f737ba95c7b3c862afb46ac3e01697fee8645..e945fda97ca7cf9e3484bd68bb80eb3417ad7ee7 100644
--- a/src/pio_mpi_fw_at_reblock.c
+++ b/src/pio_mpi_fw_at_reblock.c
@@ -364,10 +364,10 @@ fwFileWriteAtReblock(int fileID, const void *buffer, size_t len)
   int numBlockBuf = of->numBlockBuf;
   int numMsg = of->numMsg;
   const unsigned char *inBuf = buffer;
-  const unsigned char *directWriteBuf;
+  const unsigned char *directWriteBuf = NULL;
   /* positive value iff direct write occurs */
   int directWriteSize = -1;
-  MPI_Offset directWriteOfs;
+  MPI_Offset directWriteOfs = 0;
   for (int collRank = 0; collRank < sizePio; ++collRank)
     if (of->collWriteSize[collRank])
     {