diff --git a/Comparison/src/main/java/cz/fidentis/analyst/visitors/mesh/PrioritySphere.java b/Comparison/src/main/java/cz/fidentis/analyst/visitors/mesh/PrioritySphere.java
index c5e255b3a8bae71b10801d00d5869b0f8186a59a..81d0cfa0c6df54fc543fe82a5a0fa349a8a2682c 100644
--- a/Comparison/src/main/java/cz/fidentis/analyst/visitors/mesh/PrioritySphere.java
+++ b/Comparison/src/main/java/cz/fidentis/analyst/visitors/mesh/PrioritySphere.java
@@ -21,9 +21,7 @@ import javax.vecmath.Point3d;
  *       from {@link PrioritySphere#sphereCenterPosition} have priority equal to 0.</li>
  * </ul>
  * <p>
- *   The visitor also pairs the absolute distances along with their priorities
- *   and computes the total sum of weighted distances of all mesh facet's vertices
- *   from {@link PrioritySphere#sphereCenterPosition}.
+ *   The visitor returns all mesh facets together with priorities of all their vertices.
  * </p>
  * <p>
  *   This visitor is thread-safe.
@@ -37,7 +35,6 @@ public class PrioritySphere extends MeshVisitor  {
     private final double sphereRadius;
     
     private final Map<MeshFacet, List<Double>> priorities = new HashMap<>();
-    private final Map<MeshFacet, Double> weightedDistances = new HashMap<>();
 
     /**
      * Constructor.
@@ -67,23 +64,11 @@ public class PrioritySphere extends MeshVisitor  {
         return Collections.unmodifiableMap(priorities);
     }
 
-    /**
-     * Returns a map of visited mesh facets together with the total sum of weighted distances
-     * of all their vertices from the center of the priority sphere.
-     * 
-     * @return map of visited mesh facets and sum of weighted distances of their vertices
-     *         from the center of the priority sphere
-     */
-    public Map<MeshFacet, Double> getWeightedDistances() {
-        return Collections.unmodifiableMap(weightedDistances);
-    }
-
     @Override
     public void visitMeshFacet(MeshFacet facet) {
         final List<MeshPoint> vertices = facet.getVertices();
         
         final List<Double> prioritiesList = new ArrayList<>(vertices.size());
-        double aggregatedDistance = 0;
         
         for (int i = 0; i < vertices.size(); i++) { // for each vertex of visited facet
             final double distance = sphereCenterPosition.distance(vertices.get(i).getPosition());
@@ -92,7 +77,6 @@ public class PrioritySphere extends MeshVisitor  {
                 priority = 0;
             } else {
                 priority = 1 - distance / sphereRadius;
-                aggregatedDistance += priority * distance;
             }
             
             prioritiesList.add(priority);
@@ -100,7 +84,6 @@ public class PrioritySphere extends MeshVisitor  {
         
         synchronized(this) {
             priorities.put(facet, prioritiesList);
-            weightedDistances.put(facet, aggregatedDistance);
         }
     }
 }
diff --git a/Comparison/src/test/java/cz/fidentis/analyst/visitors/mesh/PrioritySphereTest.java b/Comparison/src/test/java/cz/fidentis/analyst/visitors/mesh/PrioritySphereTest.java
index 5e439562d65b9699bde35ff69d09e7a2c9ae08e7..4ecf0d7f24a10d35ef8797e2720996fa00f0973e 100644
--- a/Comparison/src/test/java/cz/fidentis/analyst/visitors/mesh/PrioritySphereTest.java
+++ b/Comparison/src/test/java/cz/fidentis/analyst/visitors/mesh/PrioritySphereTest.java
@@ -5,9 +5,10 @@ import cz.fidentis.analyst.mesh.core.MeshFacet;
 import cz.fidentis.analyst.mesh.core.MeshFacetImpl;
 import cz.fidentis.analyst.mesh.core.MeshModel;
 import cz.fidentis.analyst.mesh.core.MeshPointImpl;
-import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.DoubleStream;
 import javax.vecmath.Point3d;
@@ -18,7 +19,7 @@ import org.junit.jupiter.api.Test;
 
 public class PrioritySphereTest {
     
-    private static final double DELTA = 1e-11;
+    private static final double DELTA = 1e-15;
     
     protected MeshFacet getTrivialFacet(int count, double xSpace, double ySpace, double zSpace, int offset) {
         final MeshFacet facet = new MeshFacetImpl();
@@ -32,15 +33,12 @@ public class PrioritySphereTest {
         return facet;
     }
     
-    protected void performTest(List<MeshFacet> facets,
-            List<List<Double>> expectedPriorities,
-            List<Double> expectedWeightedDistances,
+    protected void performTest(Map<MeshFacet, List<Double>> facetsWithExpectedPriorities,
             PrioritySphere visitor,
             boolean concurrently) {
-        
-        assertEquals(facets.size(), expectedPriorities.size());
-        assertEquals(facets.size(), expectedWeightedDistances.size());
 
+        final Set<MeshFacet> facets = facetsWithExpectedPriorities.keySet();
+        
         MeshModel model = new MeshModel();
 //        model.addFacets(new HashSet<>(facets));
         for (final MeshFacet facet: facets) {
@@ -50,144 +48,76 @@ public class PrioritySphereTest {
         model.compute(visitor, concurrently);
         
         final Map<MeshFacet, List<Double>> priorities = visitor.getPriorities();
-        final Map<MeshFacet, Double> weightedDistances = visitor.getWeightedDistances();
-        assertEquals(facets.size(), priorities.size());
-        assertEquals(facets.size(), weightedDistances.size());
+        assertEquals(facetsWithExpectedPriorities.size(), priorities.size());
         
-        for (int i = 0; i < facets.size(); i++) {
-            final MeshFacet facet = facets.get(i);
-            
+        for (final MeshFacet facet: facets) {
             assertTrue(priorities.containsKey(facet));
             
-            final List<Double> expectedPrioritiesList = expectedPriorities.get(i);
-            final List<Double> actualPrioritiesList = priorities.get(facet);
-            assertEquals(expectedPrioritiesList.size(), actualPrioritiesList.size());
+            final List<Double> expectedPriorities = facetsWithExpectedPriorities.get(facet);
+            final List<Double> actualPriorities = priorities.get(facet);
+            assertEquals(expectedPriorities.size(), actualPriorities.size());
             
-            for (int j = 0; j < expectedPrioritiesList.size(); j++) {
-                assertEquals(expectedPrioritiesList.get(j), actualPrioritiesList.get(j), DELTA);
+            for (int i = 0; i < expectedPriorities.size(); i++) {
+                assertEquals(expectedPriorities.get(i), actualPriorities.get(i), DELTA);
             }
-            
-            assertTrue(weightedDistances.containsKey(facet));
-            
-            final double expectedWeightedDistance = expectedWeightedDistances.get(i);
-            final double actualWeightedDistance = weightedDistances.get(facet);
-            assertEquals(expectedWeightedDistance, actualWeightedDistance, DELTA);
         }
     }
     
     @Test
     public void variousPrioritiesTest() {
-        final List<Double> prioritiesList = List.of(1d, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0d, 0d);
-        final double weightedDistance = 0 + 0.9 + 1.6 + 2.1 + 2.4 + 2.5 + 2.4 + 2.1 + 1.6 + 0.9 + 0 + 0;
-
-        final List<MeshFacet> facets = new ArrayList<>();
-        final List<List<Double>> expectedPriorities = new ArrayList<>();
-        final List<Double> expectedWeightedDistances = new ArrayList<>();
-        
-        facets.add(getTrivialFacet(12, 1, 0, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, -1, 0, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, 1, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, -1, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, 0, 1, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, 0, -1, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
+        final List<Double> priorities = List.of(1d, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0d, 0d);
+        final Map<MeshFacet, List<Double>> expected = new HashMap<>();
+        expected.put(getTrivialFacet(12, 1, 0, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, -1, 0, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, 1, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, -1, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, 0, 1, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, 0, -1, 0), priorities);
         
         final PrioritySphere visitor = new PrioritySphere(new Point3d(0, 0, 0), 10);
         
-        performTest(facets, expectedPriorities, expectedWeightedDistances, visitor, false);
+        performTest(expected, visitor, false);
     }
     
     @Test
     public void allZeroPrioritiesTest() {
-        final List<MeshFacet> facets = new ArrayList<>();
-        final List<List<Double>> expectedPriorities = new ArrayList<>();
-        final List<Double> expectedWeightedDistances = new ArrayList<>();
-        
-        facets.add(getTrivialFacet(1, 3, 0, 0, 1));
-        expectedPriorities.add(List.of(0d));
-        expectedWeightedDistances.add(0d);
-        facets.add(getTrivialFacet(5, 0, 3, 0, 1));
-        expectedPriorities.add(List.of(0d, 0d, 0d, 0d, 0d));
-        expectedWeightedDistances.add(0d);
-        facets.add(getTrivialFacet(3, -3, -3, -3, 1));
-        expectedPriorities.add(List.of(0d, 0d, 0d));
-        expectedWeightedDistances.add(0d);
+        final Map<MeshFacet, List<Double>> expected = new HashMap<>();
+        expected.put(getTrivialFacet(1, 3, 0, 0, 1), List.of(0d));
+        expected.put(getTrivialFacet(5, 0, 3, 0, 1), List.of(0d, 0d, 0d, 0d, 0d));
+        expected.put(getTrivialFacet(3, -3, -3, -3, 1), List.of(0d, 0d, 0d));
         
         final PrioritySphere visitor = new PrioritySphere(new Point3d(0, 0, 0), 3);
         
-        performTest(facets, expectedPriorities, expectedWeightedDistances, visitor, false);
+        performTest(expected, visitor, false);
     }
     
     @Test
     public void noZeroPriorityTest() {
-        final List<MeshFacet> facets = new ArrayList<>();
-        final List<List<Double>> expectedPriorities = new ArrayList<>();
-        final List<Double> expectedWeightedDistances = new ArrayList<>();
-        
-        facets.add(getTrivialFacet(1, 10, 0, 0, 1));
-        expectedPriorities.add(List.of(0.9));
-        expectedWeightedDistances.add(9d);
-        facets.add(getTrivialFacet(5, 0, -20, 0, 0));
-        expectedPriorities.add(List.of(1d, 0.8, 0.6, 0.4, 0.2));
-        expectedWeightedDistances.add(0d + 16d + 24d + 24d + 16d);
-        
-        facets.add(getTrivialFacet(100, 0, 0, -1, 0));
-        final List<Double> priorities = DoubleStream.iterate(1, d -> d > 0d, d -> d - 0.01)
+        final Map<MeshFacet, List<Double>> expected = new HashMap<>();
+        expected.put(getTrivialFacet(1, 10, 0, 0, 1), List.of(0.9));
+        expected.put(getTrivialFacet(5, 0, -20, 0, 0), List.of(1d, 0.8, 0.6, 0.4, 0.2));
+        expected.put(getTrivialFacet(100, 0, 0, -1, 0), DoubleStream.iterate(1, d -> d > 0d, d -> d - 0.01)
                 .boxed()
-                .collect(Collectors.toList());
-        double weightedDistance = 0;
-        for (int i = 0; i < 100; i++) {
-            weightedDistance += i * priorities.get(i);
-        }
-        expectedPriorities.add(priorities);
-        expectedWeightedDistances.add(weightedDistance);
+                .collect(Collectors.toList()));
         
         final PrioritySphere visitor = new PrioritySphere(new Point3d(0, 0, 0), 100);
         
-        performTest(facets, expectedPriorities, expectedWeightedDistances, visitor, false);
+        performTest(expected, visitor, false);
     }
     
     @Test
     public void concurrencyTest() {
-        final List<Double> prioritiesList = List.of(1d, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0d, 0d);
-        final double weightedDistance = 0 + 0.9 + 1.6 + 2.1 + 2.4 + 2.5 + 2.4 + 2.1 + 1.6 + 0.9 + 0 + 0;
-        
-        final List<MeshFacet> facets = new ArrayList<>();
-        final List<List<Double>> expectedPriorities = new ArrayList<>();
-        final List<Double> expectedWeightedDistances = new ArrayList<>();
-        
-        facets.add(getTrivialFacet(12, 1, 0, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, -1, 0, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, 1, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, -1, 0, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, 0, 1, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
-        facets.add(getTrivialFacet(12, 0, 0, -1, 0));
-        expectedPriorities.add(prioritiesList);
-        expectedWeightedDistances.add(weightedDistance);
+        final List<Double> priorities = List.of(1d, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0d, 0d);
+        final Map<MeshFacet, List<Double>> expected = new HashMap<>();
+        expected.put(getTrivialFacet(12, 1, 0, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, -1, 0, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, 1, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, -1, 0, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, 0, 1, 0), priorities);
+        expected.put(getTrivialFacet(12, 0, 0, -1, 0), priorities);
         
         final PrioritySphere visitor = new PrioritySphere(new Point3d(0, 0, 0), 10);
         
-        performTest(facets, expectedPriorities, expectedWeightedDistances, visitor, true);
+        performTest(expected, visitor, true);
     }
 }