diff --git a/examples/heatTransfer/read/heatRead_adios2.cpp b/examples/heatTransfer/read/heatRead_adios2.cpp
index dd8ef0cf0e7038a99eae8e3d7a90c71ced2d9f15..576e9d3624d4afcad5f8c3350cdab95c6470945e 100644
--- a/examples/heatTransfer/read/heatRead_adios2.cpp
+++ b/examples/heatTransfer/read/heatRead_adios2.cpp
@@ -95,6 +95,8 @@ int main(int argc, char *argv[])
     // 1D decomposition of the columns, which is inefficient for reading!
     std::vector<uint64_t> readsize({gndx, gndy / nproc});
     std::vector<uint64_t> offset({0LL, rank * readsize[1]});
+    std::vector<size_t> readsize_size_t({gndx, gndy / nproc});
+    std::vector<size_t> offset_size_t({0LL, rank * readsize[1]});
     if (rank == nproc - 1)
     {
         // last process should read all the rest of columns
@@ -109,7 +111,7 @@ int main(int argc, char *argv[])
     double *T = new double[vT->m_AvailableSteps * readsize[0] * readsize[1]];
 
     // Create a 2D selection for the subset
-    vT->SetSelection(offset, readsize);
+    vT->SetSelection(offset_size_t, readsize_size_t);
     vT->SetStepSelection(0, vT->m_AvailableSteps);
 
     // Arrays are read by scheduling one or more of them