diff --git a/GUI/src/main/java/cz/fidentis/analyst/distance/DistanceAction.java b/GUI/src/main/java/cz/fidentis/analyst/distance/DistanceAction.java
index 4ad83890b23f99ddf67027c3b5f761ab73e09b0e..2ff3e2f60c0b1c03ae26739ce1c71cd48c760f5a 100644
--- a/GUI/src/main/java/cz/fidentis/analyst/distance/DistanceAction.java
+++ b/GUI/src/main/java/cz/fidentis/analyst/distance/DistanceAction.java
@@ -15,6 +15,8 @@ import java.util.DoubleSummaryStatistics;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
 import javax.swing.JComboBox;
 import javax.swing.JTabbedPane;
 import javax.swing.JTextField;
@@ -163,11 +165,28 @@ public class DistanceAction extends ControlPanelAction {
     }
 
     private Map<MeshFacet, List<Double>> calculateHausdorffDistance() {
-        if (weightedDist) {
-            // TODO Merge the map of distances with the map of priorities
+        if (!weightedDist) {
+            return visitor.getDistances();
         }
         
-        return visitor.getDistances();
+        // Merge the map of distances with the map of priorities
+        final Map<MeshFacet, List<Double>> weightedDistances = new HashMap<>(visitor.getDistances());
+
+        final Map<MeshFacet, List<Double>> mergedPriorities = visitor.getMergedPriorities()
+                .get(getSecondaryDrawableFace().getHumanFace());
+        for (final Map.Entry<MeshFacet, List<Double>> facetPriorities: mergedPriorities.entrySet()) {
+            weightedDistances.merge(
+                    facetPriorities.getKey(),
+                    facetPriorities.getValue(),
+                    (distancesList, prioritiesList) ->
+                            IntStream.range(0, distancesList.size())
+                                    .mapToDouble(i -> distancesList.get(i) * prioritiesList.get(i))
+                                    .boxed()
+                                    .collect(Collectors.toList())
+            );
+        }
+
+        return weightedDistances;
     }
     
     private void highlightFeaturePoint(LoadedActionEvent actionEvent) {