Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 17781)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 17782)
@@ -39,4 +39,5 @@
 import org.openstreetmap.josm.tools.Destroyable;
 import org.openstreetmap.josm.tools.ExifReader;
+import org.openstreetmap.josm.tools.HiDPISupport;
 import org.openstreetmap.josm.tools.ImageProcessor;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -819,11 +820,12 @@
                     if (bi != null) {
                         r.x = r.y = 0;
-
+                        double hiDPIScale = HiDPISupport.getHiDPIScale();
+                        int width = (int) (target.width * hiDPIScale);
+                        int height = (int) (target.height * hiDPIScale);
                         // See https://community.oracle.com/docs/DOC-983611 - The Perils of Image.getScaledInstance()
                         // Pre-scale image when downscaling by more than two times to avoid aliasing from default algorithm
-                        bi = ImageProvider.createScaledImage(bi, target.width, target.height,
-                                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
-                        r.width = target.width;
-                        r.height = target.height;
+                        bi = ImageProvider.createScaledImage(bi, width, height, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+                        r.width = width;
+                        r.height = height;
                         image = bi;
                     }
Index: trunk/src/org/openstreetmap/josm/tools/HiDPISupport.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/HiDPISupport.java	(revision 17781)
+++ trunk/src/org/openstreetmap/josm/tools/HiDPISupport.java	(revision 17782)
@@ -176,5 +176,5 @@
      * @return the GUI scale for HiDPI mode, a value of 1.0 means standard mode.
      */
-    static double getHiDPIScale() {
+    public static double getHiDPIScale() {
         if (GraphicsEnvironment.isHeadless())
             return 1.0;
