diff --git a/MeshLib/MeshSearch/NodeSearch.cpp b/MeshLib/MeshSearch/NodeSearch.cpp
index 32da085f6d50d68d7844f382bc713a9bb5062916..334c49c886d9a5fdeece7906cda13135dac08f9b 100644
--- a/MeshLib/MeshSearch/NodeSearch.cpp
+++ b/MeshLib/MeshSearch/NodeSearch.cpp
@@ -28,15 +28,17 @@ std::vector<std::size_t> NodeSearch::searchByElementIDsMatchAllConnectedElements
 {
 	std::vector<std::size_t> connected_nodes;
 
-	std::vector<std::size_t> node_marked_counts(_mesh.getNNodes(), 0); //this approach is not optimum for memory size
-	std::for_each(elements.begin(), elements.end(),
-		[&](std::size_t eid)
-		{
-			auto* e = _mesh.getElement(eid);
-			for (unsigned i=0; i<e->getNBaseNodes(); i++) {
-				node_marked_counts[e->getNodeIndex(i)]++;
-			}
-		});
+	std::vector<std::size_t> node_marked_counts(_mesh.getNNodes(), 0);
+	//this approach is not optimal for memory size
+
+	for(std::size_t eid : elements)
+	{
+		auto* e = _mesh.getElement(eid);
+		for (unsigned i=0; i<e->getNBaseNodes(); i++) {
+			node_marked_counts[e->getNodeIndex(i)]++;
+		}
+	}
+
 	for (std::size_t i=0; i<node_marked_counts.size(); i++)
 	{
 		if (node_marked_counts[i] == _mesh.getNode(i)->getElements().size())
@@ -49,14 +51,14 @@ std::vector<std::size_t> NodeSearch::searchByElementIDsNotMatchAllConnectedEleme
 {
 	std::vector<std::size_t> connected_nodes;
 
-	std::for_each(elements.begin(), elements.end(),
-		[&](std::size_t eid)
-		{
-			auto* e = _mesh.getElement(eid);
-			for (unsigned i=0; i<e->getNBaseNodes(); i++) {
-				connected_nodes.push_back(e->getNodeIndex(i));
-			}
-		});
+	for(std::size_t eid : elements)
+	{
+		auto* e = _mesh.getElement(eid);
+		for (unsigned i=0; i<e->getNBaseNodes(); i++) {
+			connected_nodes.push_back(e->getNodeIndex(i));
+		}
+	}
+
 	std::sort(connected_nodes.begin(), connected_nodes.end());
 	auto it = std::unique(connected_nodes.begin(), connected_nodes.end());
 	connected_nodes.resize(std::distance(connected_nodes.begin(),it));