diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
index de71ebd4842f9b27203a50a0e432a60834d23fc2..ea475303c2ba979dd4b0d0c4479ab1ad6b675e5e 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
@@ -108,6 +108,23 @@ std::ostream& Partition::writeConfigBinary(std::ostream& os) const
                     sizeof(data));
 }
 
+void splitOffHigherOrderNode(std::vector<MeshLib::Node*> const& nodes,
+                             bool const is_mixed_high_order_linear_elems,
+                             unsigned const node_id,
+                             unsigned const n_base_nodes,
+                             std::vector<MeshLib::Node*>& base_nodes,
+                             std::vector<MeshLib::Node*>& extra_nodes)
+{
+    if (!is_mixed_high_order_linear_elems || node_id > n_base_nodes)
+    {
+        base_nodes.push_back(nodes[node_id]);
+    }
+    else
+    {
+        extra_nodes.push_back(nodes[node_id]);
+    }
+}
+
 void NodeWiseMeshPartitioner::findNonGhostNodesInPartition(
     std::size_t const part_id,
     const bool is_mixed_high_order_linear_elems,
@@ -121,6 +138,7 @@ void NodeWiseMeshPartitioner::findNonGhostNodesInPartition(
         if (_nodes_partition_ids[i] == part_id)
         {
             splitOffHigherOrderNode(nodes, is_mixed_high_order_linear_elems, i,
+                                    _mesh->getNumberOfBaseNodes(),
                                     partition.nodes, extra_nodes);
         }
     }
@@ -190,31 +208,14 @@ void NodeWiseMeshPartitioner::findGhostNodesInPartition(
             if (_nodes_partition_ids[node_id] != part_id)
             {
                 splitOffHigherOrderNode(nodes, is_mixed_high_order_linear_elems,
-                                        node_id, partition.nodes, extra_nodes);
+                                        node_id, _mesh->getNumberOfBaseNodes(),
+                                        partition.nodes, extra_nodes);
                 nodes_reserved[node_id] = true;
             }
         }
     }
 }
 
-void NodeWiseMeshPartitioner::splitOffHigherOrderNode(
-    std::vector<MeshLib::Node*> const& nodes,
-    bool const is_mixed_high_order_linear_elems,
-    unsigned const node_id,
-    std::vector<MeshLib::Node*>& base_nodes,
-    std::vector<MeshLib::Node*>& extra_nodes)
-{
-    auto const n_base_nodes = _mesh->getNumberOfBaseNodes();
-    if (!is_mixed_high_order_linear_elems || node_id > n_base_nodes)
-    {
-        base_nodes.push_back(nodes[node_id]);
-    }
-    else
-    {
-        extra_nodes.push_back(nodes[node_id]);
-    }
-}
-
 void NodeWiseMeshPartitioner::processPartition(
     std::size_t const part_id, const bool is_mixed_high_order_linear_elems)
 {
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
index c7439c4e93086c3268dfdb20946ffc7fe76e3b1f..4f295f9869b7819e5404388f3b44ce19d020c091 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
@@ -139,12 +139,6 @@ private:
                                    const bool is_mixed_high_order_linear_elems,
                                    std::vector<MeshLib::Node*>& extra_nodes);
 
-    void splitOffHigherOrderNode(std::vector<MeshLib::Node*> const& nodes,
-                                 bool const is_mixed_high_order_linear_elems,
-                                 unsigned const node_id,
-                                 std::vector<MeshLib::Node*>& base_nodes,
-                                 std::vector<MeshLib::Node*>& extra_nodes);
-
     void processPartition(std::size_t const part_id,
                           const bool is_mixed_high_order_linear_elems);