diff --git a/Comparison/src/main/java/cz/fidentis/analyst/EfficiencyTests.java b/Comparison/src/main/java/cz/fidentis/analyst/EfficiencyTests.java
index 22fdd534b41afbdd804e395bb5e9708a7013608c..8f39e0925a8482bbfec40b97521d51689a30aedf 100644
--- a/Comparison/src/main/java/cz/fidentis/analyst/EfficiencyTests.java
+++ b/Comparison/src/main/java/cz/fidentis/analyst/EfficiencyTests.java
@@ -3,6 +3,9 @@ package cz.fidentis.analyst;
 import cz.fidentis.analyst.face.HumanFace;
 import cz.fidentis.analyst.kdtree.KdTree;
 import cz.fidentis.analyst.mesh.core.MeshFacet;
+import cz.fidentis.analyst.symmetry.Config;
+import cz.fidentis.analyst.symmetry.Plane;
+import cz.fidentis.analyst.symmetry.SymmetryEstimator;
 import cz.fidentis.analyst.visitors.mesh.HausdorffDistance;
 import cz.fidentis.analyst.visitors.mesh.HausdorffDistance.Strategy;
 import java.io.File;
@@ -34,6 +37,8 @@ public class EfficiencyTests {
         face1 = new HumanFace(faceFile2);
         face2 = new HumanFace(faceFile4);
         
+        System.out.println(measureSymmetryPlane(face1, true) + "\tmsec:\tSymmetry plane computation");
+        
         System.out.println(measureKdTreeCreation(face1) + "\tmsec:\tKd-tree creation of first face");
         System.out.println(measureKdTreeCreation(face2) + "\tmsec:\tKd-tree creation of second face");
         
@@ -80,4 +85,16 @@ public class EfficiencyTests {
         return System.currentTimeMillis() - startTime;
     }
     
+    private static long measureSymmetryPlane(HumanFace face, boolean printDetails) {
+        long startTime = System.currentTimeMillis();
+        SymmetryEstimator est = new SymmetryEstimator(face.getMeshModel().getFacets().get(0), new Config());
+        Plane plane = est.getApproxSymmetryPlane(null);
+        long retTime =  System.currentTimeMillis() - startTime;
+        
+        if (printDetails) {
+            System.out.println(plane.getNormal() + ", " + plane.getDistance());
+        }
+        
+        return retTime;
+    }
 }
diff --git a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java
index c2a3520f98e4110a4bbff851cc9c87ac9d2de471..61a773781b87b698bc3790d0c6f721f7248209e3 100644
--- a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java
+++ b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java
@@ -8,6 +8,7 @@ import cz.fidentis.analyst.mesh.core.MeshFacetImpl;
 import cz.fidentis.analyst.mesh.core.MeshPointImpl;
 import cz.fidentis.analyst.mesh.core.MeshTriangle;
 import cz.fidentis.analyst.visitors.mesh.BoundingBoxVisitor;
+import cz.fidentis.analyst.visitors.mesh.TriangleListVisitor;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -53,6 +54,10 @@ public class SymmetryEstimator {
         for (MeshTriangle tri: f) {
             areas[i++] = computeTriangleVertexAreas(tri);
         }
+        
+        TriangleListVisitor vis = new TriangleListVisitor(false);
+        f.accept(vis);
+        triangles = vis.getTriangles();
     }
     
     /**
@@ -236,6 +241,9 @@ public class SymmetryEstimator {
     }
     
     private Plane computeNewPlane(List<ApproxSymmetryPlane> finalPlanes) {
+        if (finalPlanes.isEmpty()) {
+            return null;
+        }
         double newA = 0, newB = 0, newC = 0, newD = 0;
         Vector3d refDir = finalPlanes.get(0).getNormal();
         for (int i = 0; i < finalPlanes.size(); i++) {