diff --git a/examples/heatTransfer/write/IO_adios2.cpp b/examples/heatTransfer/write/IO_adios2.cpp
index 966bfae203b9d3cc67332d12b923d624546ccdac..8af454f718bb406174c7e116018eafb000eb28e4 100644
--- a/examples/heatTransfer/write/IO_adios2.cpp
+++ b/examples/heatTransfer/write/IO_adios2.cpp
@@ -84,7 +84,7 @@ void IO::write(int step, const HeatTransfer &ht, const Settings &s,
     // Make a selection to describe the local dimensions of the variable we
     // write and its offsets in the global spaces. This could have been done in
     // adios.DefineVariable()
-    adios::SelectionBoundingBox sel({s.ndx, s.ndy}, {s.offsx, s.offsy});
+    adios::SelectionBoundingBox sel({s.offsx, s.offsy}, {s.ndx, s.ndy});
     varT->SetSelection(sel);
 
     /* Select the area that we want to write from the data pointer we pass to
@@ -102,7 +102,7 @@ void IO::write(int step, const HeatTransfer &ht, const Settings &s,
         adios::SelectionBoundingBox({s.ndx, s.ndy}, {1, 1});
     varT->SetMemorySelection(memspace);
 
-    bpWriter->Write<double>(*varT, ht.data_noghost().data());
+    bpWriter->Write<double>(*varT, ht.data());
     bpWriter->Advance();
 
 #else
diff --git a/include/core/VariableBase.h b/include/core/VariableBase.h
index d9d98c9160c341a9153ddd8fa7869af92590331f..415458610149e9f115f3d003765996292945170e 100644
--- a/include/core/VariableBase.h
+++ b/include/core/VariableBase.h
@@ -94,7 +94,7 @@ public:
         }
 
         ConvertUint64VectorToSizetVector(sel.m_Count, m_Dimensions);
-        ConvertUint64VectorToSizetVector(sel.m_Start, m_GlobalDimensions);
+        ConvertUint64VectorToSizetVector(sel.m_Start, m_GlobalOffsets);
     }
 
     /**