Index: src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 15688)
+++ src/org/openstreetmap/josm/gui/NavigatableComponent.java	(working copy)
@@ -61,6 +61,7 @@
 import org.openstreetmap.josm.gui.util.CursorManager;
 import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.spi.preferences.Config;
+import org.openstreetmap.josm.tools.GuiSizesHelper;
 import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -1181,10 +1182,10 @@
         DataSet ds = MainApplication.getLayerManager().getActiveDataSet();
 
         if (ds != null) {
-            double snapDistanceSq = Config.getPref().getInt("mappaint.segment.snap-distance", 10);
-            snapDistanceSq *= snapDistanceSq;
+            int snapDistance = GuiSizesHelper.getSizeDpiAdjusted(Config.getPref().getInt("mappaint.segment.snap-distance", 10));
+            double snapDistanceSq = (double) snapDistance * snapDistance;
 
-            for (Way w : ds.searchWays(getBBox(p, Config.getPref().getInt("mappaint.segment.snap-distance", 10)))) {
+            for (Way w : ds.searchWays(getBBox(p, snapDistance))) {
                 if (!predicate.test(w)) {
                     continue;
                 }
