diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
index d1ca9a4c866a99bcfa024c498d1fb4727abcfc93..3210e78003f64c9f7c3b5c4f51839464a6011be0 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
@@ -929,7 +929,8 @@ void NodeWiseMeshPartitioner::writeBinary(const std::string& file_name_base)
 
 void NodeWiseMeshPartitioner::writeOtherMesh(
     std::string const& output_filename_base,
-    std::vector<Partition> const& partitions) const
+    std::vector<Partition> const& partitions,
+    MeshLib::Properties const& partitioned_properties) const
 {
     writeNodesBinary(output_filename_base, partitions, _nodes_global_ids);
 
@@ -942,6 +943,11 @@ void NodeWiseMeshPartitioner::writeOtherMesh(
         std::get<1>(elem_integers);
     writeElementsBinary(output_filename_base, partitions, num_elem_integers,
                         num_g_elem_integers);
+
+    writePropertiesBinary(output_filename_base, partitioned_properties,
+                          partitions, MeshLib::MeshItemType::Node);
+    writePropertiesBinary(output_filename_base, partitioned_properties,
+                          partitions, MeshLib::MeshItemType::Cell);
 }
 
 void NodeWiseMeshPartitioner::writeConfigDataASCII(
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
index 0fe7d460a6a00e669a4f19df3d10a812b322a1de..c95bdedcd07b03fab2018337a7d7b8baaf3f632c 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
@@ -93,8 +93,10 @@ public:
     /// \param file_name_base The prefix of the file name.
     void writeBinary(const std::string& file_name_base);
 
-    void writeOtherMesh(std::string const& output_filename_base,
-                        std::vector<Partition> const& partitions) const;
+    void writeOtherMesh(
+        std::string const& output_filename_base,
+        std::vector<Partition> const& partitions,
+        MeshLib::Properties const& partitioned_properties) const;
 
     void resetPartitionIdsForNodes(
         std::vector<std::size_t>&& node_partition_ids)
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp
index 22d81be90e3ef1ca72505f32d3c388f79a953052..7cdb623852894633a8a23f03cb182d292314de16 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp
@@ -182,8 +182,11 @@ int main(int argc, char* argv[])
             BaseLib::extractBaseNameWithoutExtension(filename));
         auto const partitions = mesh_partitioner.partitionOtherMesh(
             *mesh, is_mixed_high_order_linear_elems);
+
+        auto const partitioned_properties =
+            partitionProperties(mesh->getProperties(), partitions);
         mesh_partitioner.writeOtherMesh(output_file_name_wo_extension,
-                                        partitions);
+                                        partitions, partitioned_properties);
     }
 
     if (ascii_flag.getValue())