diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
index 756830bbeeddd6da9f11fed5b7740555a86e8b01..b958f2faf3e25f288980ce68e194f70642d76f19 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
@@ -156,20 +156,14 @@ void NodeWiseMeshPartitioner::splitOffHigherOrderNode(
     std::vector<MeshLib::Node*>& base_nodes,
     std::vector<MeshLib::Node*>& extra_nodes)
 {
-    if (is_mixed_high_order_linear_elems)
+    auto const n_base_nodes = _mesh->getNumberOfBaseNodes();
+    if (!is_mixed_high_order_linear_elems || node_id > n_base_nodes)
     {
-        if (node_id < _mesh->getNumberOfBaseNodes())
-        {
-            base_nodes.push_back(nodes[node_id]);
-        }
-        else
-        {
-            extra_nodes.push_back(nodes[node_id]);
-        }
+        base_nodes.push_back(nodes[node_id]);
     }
     else
     {
-        base_nodes.push_back(nodes[node_id]);
+        extra_nodes.push_back(nodes[node_id]);
     }
 }