diff --git a/MeshLib/IO/XDMF/transformData.cpp b/MeshLib/IO/XDMF/transformData.cpp
index f5354095b4c704b89d9b85f5fe38f2562fa1db3a..1cff421eb70e058bac7dd186ce91598f1c001cb6 100644
--- a/MeshLib/IO/XDMF/transformData.cpp
+++ b/MeshLib/IO/XDMF/transformData.cpp
@@ -395,11 +395,16 @@ XdmfHdfData transformTopology(std::vector<std::size_t> const& values,
                               unsigned int const chunk_size_bytes)
 {
     std::string const name = "topology";
-    HdfData const hdf = {
-        values.data(), values.size(),   1, name, MeshPropertyDataType::uint64,
-        n_files,       chunk_size_bytes};
-    XdmfData const xdmf{values.size(),
-                        1,
+    auto const tuple_size = ParentDataType2String(parent_data_type).second;
+    HdfData const hdf = {values.data(),
+                         values.size() / tuple_size,
+                         tuple_size,
+                         name,
+                         MeshPropertyDataType::uint64,
+                         n_files,
+                         chunk_size_bytes};
+    XdmfData const xdmf{values.size() / tuple_size,
+                        tuple_size,
                         MeshPropertyDataType::uint64,
                         name,
                         std::nullopt,
diff --git a/MeshLib/IO/XDMF/writeXdmf.cpp b/MeshLib/IO/XDMF/writeXdmf.cpp
index f190de381a53622a95c5f8a5003272574c8a51e8..788d4be89f8037b5107e52a8e690bb44b194dbb0 100644
--- a/MeshLib/IO/XDMF/writeXdmf.cpp
+++ b/MeshLib/IO/XDMF/writeXdmf.cpp
@@ -204,12 +204,14 @@ std::function<std::string(std::vector<double>)> write_xdmf(
     {
         return fmt::format(
             fmt::runtime("\n\t<Topology Type=\"{topology_type}\" "
-                         "NodesPerElement=\"{nodes_per_element}\">{dataitem}"
+                         "NodesPerElement=\"{nodes_per_element}\" "
+                         "NumberOfElements=\"{number_of_elements}\">{dataitem}"
                          "\n\t</Topology>"),
             "topology_type"_a =
                 ParentDataType2String(*topology.parent_data_type),
             "dataitem"_a = dataitem_transform(topology),
-            "nodes_per_element"_a = nodes_per_element);
+            "nodes_per_element"_a = nodes_per_element,
+            "number_of_elements"_a = topology.size_partitioned_dim);
     };
 
     // Define content of <Topology> in XDMF, same as attribute_transform