diff --git a/MeshGeoToolsLib/MeshNodeSearcher.cpp b/MeshGeoToolsLib/MeshNodeSearcher.cpp
index bca2ddeba8adb83b8fb1536894d5e4cf31f0f890..79c8e05396d4b04b0b1b6f95514cab5835b31e14 100644
--- a/MeshGeoToolsLib/MeshNodeSearcher.cpp
+++ b/MeshGeoToolsLib/MeshNodeSearcher.cpp
@@ -137,8 +137,9 @@ MeshNodesAlongSurface& MeshNodeSearcher::getMeshNodesAlongSurface(GeoLib::Surfac
     return *_mesh_nodes_along_surfaces.back();
 }
 
-MeshNodeSearcher&
-MeshNodeSearcher::getMeshNodeSearcher(MeshLib::Mesh const& mesh)
+MeshNodeSearcher& MeshNodeSearcher::getMeshNodeSearcher(
+    MeshLib::Mesh const& mesh,
+    MeshGeoToolsLib::SearchLength const& search_length_algorithm)
 {
     std::size_t const mesh_id = mesh.getID();
     if (_mesh_node_searchers.size() < mesh_id+1)
@@ -146,7 +147,8 @@ MeshNodeSearcher::getMeshNodeSearcher(MeshLib::Mesh const& mesh)
 
     if (!_mesh_node_searchers[mesh_id])
         _mesh_node_searchers[mesh_id].reset(
-            new MeshGeoToolsLib::MeshNodeSearcher(mesh));
+            new MeshGeoToolsLib::MeshNodeSearcher(mesh,
+                                                  search_length_algorithm));
 
     return *_mesh_node_searchers[mesh_id];
 }
diff --git a/MeshGeoToolsLib/MeshNodeSearcher.h b/MeshGeoToolsLib/MeshNodeSearcher.h
index fdd432e4039a0c4c755be33de9bfb6596d67cbcd..a0093aaca7f1d35621ab476cad975b0f4d2a2aed 100644
--- a/MeshGeoToolsLib/MeshNodeSearcher.h
+++ b/MeshGeoToolsLib/MeshNodeSearcher.h
@@ -59,9 +59,9 @@ public:
      * @param search_all_nodes switch between searching all mesh nodes and
      * searching the base nodes.
      */
-    explicit MeshNodeSearcher(MeshLib::Mesh const& mesh,
-        MeshGeoToolsLib::SearchLength const& search_length_algorithm
-            = MeshGeoToolsLib::SearchLength(),
+    MeshNodeSearcher(
+        MeshLib::Mesh const& mesh,
+        MeshGeoToolsLib::SearchLength const& search_length_algorithm,
         bool search_all_nodes = true);
 
     virtual ~MeshNodeSearcher();
@@ -133,7 +133,10 @@ public:
      * Returns a (possibly new) mesh node searcher for the mesh.
      * A new one will be created, if it does not already exists.
      */
-    static MeshNodeSearcher& getMeshNodeSearcher(MeshLib::Mesh const& mesh);
+    static MeshNodeSearcher& getMeshNodeSearcher(
+        MeshLib::Mesh const& mesh,
+        MeshGeoToolsLib::SearchLength const& search_length_algorithm =
+            MeshGeoToolsLib::SearchLength());
 
 private:
     MeshLib::Mesh const& _mesh;
diff --git a/ProcessLib/BoundaryCondition/BoundaryCondition.cpp b/ProcessLib/BoundaryCondition/BoundaryCondition.cpp
index f239698e7c94b8b3fe696c9ebec930f9f69e21d0..99caf1eed1fa346ae1baab289302feded966d1c5 100644
--- a/ProcessLib/BoundaryCondition/BoundaryCondition.cpp
+++ b/ProcessLib/BoundaryCondition/BoundaryCondition.cpp
@@ -25,8 +25,11 @@ std::unique_ptr<BoundaryCondition> BoundaryConditionBuilder::createBoundaryCondi
     const unsigned shapefunction_order,
     const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters)
 {
+    MeshGeoToolsLib::SearchLength search_length_algorithm;
+
     MeshGeoToolsLib::MeshNodeSearcher& mesh_node_searcher =
-        MeshGeoToolsLib::MeshNodeSearcher::getMeshNodeSearcher(mesh);
+        MeshGeoToolsLib::MeshNodeSearcher::getMeshNodeSearcher(
+            mesh, search_length_algorithm);
 
     MeshGeoToolsLib::BoundaryElementsSearcher boundary_element_searcher(
         mesh, mesh_node_searcher);