diff --git a/MeshLib/findElementsWithinRadius.cpp b/MeshLib/findElementsWithinRadius.cpp
index 9c63a9d55e027594b8e4da0e534ebdc5505f0273..0f6d1d345301cedaa3f5410c8820cdb060bb0ace 100644
--- a/MeshLib/findElementsWithinRadius.cpp
+++ b/MeshLib/findElementsWithinRadius.cpp
@@ -22,20 +22,21 @@
 
 namespace MeshLib {
 std::vector<std::size_t> findElementsWithinRadius(Element const& start_element,
-                                                  double const radius)
+                                                  double const radius_squared)
 {
     // Special case for 0 radius. All other radii will include at least one
     // neighbor of the start element.
-    if (radius == 0.)
+    if (radius_squared == 0.)
         return {start_element.getID()};
 
     // Returns true if the test node is inside the radius of any of the
     // element's nodes.
-    auto node_inside_radius = [&start_element, radius](Node const* test_node) {
+    auto node_inside_radius = [&start_element,
+                               radius_squared](Node const* test_node) {
         for (unsigned n = 0; n < start_element.getNumberOfNodes(); ++n)
         {
             if (MathLib::sqrDist(*test_node, *start_element.getNode(n)) <=
-                radius * radius)
+                radius_squared)
                 return true;
         }
         return false;
diff --git a/MeshLib/findElementsWithinRadius.h b/MeshLib/findElementsWithinRadius.h
index 5e46f423f2e28070ef12195c487848eaba3a290f..603dc31273c1156ddf24da0fd168d271e7a14d45 100644
--- a/MeshLib/findElementsWithinRadius.h
+++ b/MeshLib/findElementsWithinRadius.h
@@ -31,6 +31,6 @@ namespace MeshLib
 ///
 /// \note For radius 0 only the given element's id is returned.
 std::vector<std::size_t> findElementsWithinRadius(Element const& e,
-                                                  double const radius);
+                                                  double const radius_squared);
 
 }  // namespace MeshLib
diff --git a/Tests/MeshLib/TestFindElementsWithinRadius.cpp b/Tests/MeshLib/TestFindElementsWithinRadius.cpp
index 2d3d66b7ee6b271f3d893b90a88bf90acc855440..4df943b624bf2c9c553cc0a5a741327487ee733b 100644
--- a/Tests/MeshLib/TestFindElementsWithinRadius.cpp
+++ b/Tests/MeshLib/TestFindElementsWithinRadius.cpp
@@ -177,11 +177,11 @@ TEST_F(MeshLibFindElementWithinRadius, RandomPositiveRadius2d)
                                                  double const radius) -> bool {
         auto const& element = *mesh.getElement(element_id);
 
-        auto result = findElementsWithinRadius(element, radius);
+        auto result = findElementsWithinRadius(element, radius * radius);
         std::sort(std::begin(result), std::end(result));
 
-        auto const expected_elements =
-            bruteForceFindElementIdsWithinRadius(mesh, element, radius);
+        auto const expected_elements = bruteForceFindElementIdsWithinRadius(
+            mesh, element, radius * radius);
 
         return result.size() == expected_elements.size() &&
                std::includes(std::begin(result), std::end(result),
@@ -208,7 +208,7 @@ TEST_F(MeshLibFindElementWithinRadius, RandomPositiveRadius3d)
                                                  double const radius) -> bool {
         auto const& element = *mesh.getElement(element_id);
 
-        auto result = findElementsWithinRadius(element, radius);
+        auto result = findElementsWithinRadius(element, radius * radius);
         std::sort(std::begin(result), std::end(result));
 
         auto const expected_elements =