diff --git a/MeshLib/IO/XDMF/transformData.cpp b/MeshLib/IO/XDMF/transformData.cpp
index 89a08219ae8967d5c9ebb9b6aacb0e2ffde6ceff..093eb53f8a3b576fcc17ac72c526f3ac4bd4e7dc 100644
--- a/MeshLib/IO/XDMF/transformData.cpp
+++ b/MeshLib/IO/XDMF/transformData.cpp
@@ -314,14 +314,14 @@ ParentDataType getTopologyType(MeshLib::Mesh const& mesh)
     return cellTypeOGS2XDMF(ogs_cell_type).id;
 }
 
-std::vector<int> transformToXDMFTopology(MeshLib::Mesh const& mesh,
-                                         std::size_t const offset)
+std::pair<std::vector<int>, ParentDataType> transformToXDMFTopology(
+    MeshLib::Mesh const& mesh, std::size_t const offset)
 {
     std::vector<MeshLib::Element*> const& elements = mesh.getElements();
     std::vector<int> values;
     values.reserve(elements.size());
 
-    auto topology_type = getTopologyType(mesh);
+    auto const topology_type = getTopologyType(mesh);
     if (topology_type == ParentDataType::MIXED)
     {
         for (auto const& cell : elements)
@@ -349,7 +349,7 @@ std::vector<int> transformToXDMFTopology(MeshLib::Mesh const& mesh,
         }
     }
 
-    return values;
+    return {values, topology_type};
 }
 
 XdmfHdfData transformTopology(std::vector<int> const& values,
diff --git a/MeshLib/IO/XDMF/transformData.h b/MeshLib/IO/XDMF/transformData.h
index d3583b9a1397359654ae8c51656b6cc74fc31d39..28460d90e698c2ef5f220cb6e51e073604545417 100644
--- a/MeshLib/IO/XDMF/transformData.h
+++ b/MeshLib/IO/XDMF/transformData.h
@@ -75,8 +75,8 @@ std::vector<double> transformToXDMFGeometry(MeshLib::Mesh const& mesh);
  * \param mesh OGS mesh can be mesh or partitionedMesh
  * \param offset Local offset to transform local to global cell ID. Offset must
  * be zero in serial and must be defined for each process in parallel execution.
- * \return vector containing a copy of the data
+ * \return vector containing a copy of the data and the computed ParentDataType
  */
-std::vector<int> transformToXDMFTopology(MeshLib::Mesh const& mesh,
-                                         std::size_t const offset);
+std::pair<std::vector<int>, ParentDataType> transformToXDMFTopology(
+    MeshLib::Mesh const& mesh, std::size_t const offset);
 }  // namespace MeshLib::IO