diff --git a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
index 31716073c7aef4a8556fcd59b1884fdd5f905a74..3f8cbc773b1f3828e39797066e2dae7250224ef4 100644
--- a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
+++ b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
@@ -238,9 +238,10 @@ static bool testElInDist(const SPoint3 p, double limDist, MElement *el)
 
   if (el->getDim() == 2) {                                                // 2D?
     for (int iEd = 0; iEd < el->getNumEdges(); iEd++) {                   // Loop over edges of element
-      MEdge ed = el->getEdge(iEd);
-      const SPoint3 A = ed.getVertex(0)->point();
-      const SPoint3 B = ed.getVertex(1)->point();
+      std::vector<MVertex*> edgeVert;
+      el->getEdgeVertices(iEd, edgeVert);
+      const SPoint3 A = edgeVert[0]->point();
+      const SPoint3 B = edgeVert[1]->point();
       if (testSegSphereIntersect(A, B, p, limDistSq)) {
         return true;
       }