Index: trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 13822)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 13823)
@@ -1778,5 +1778,5 @@
      * @param enforceTransparency if {@code true}, makes sure to read image metadata and, if the image does not
      * provide an alpha channel but defines a {@code TransparentColor} metadata node, that the resulting image
-     * has a transparency set to {@code TRANSLUCENT} and uses the correct transparent color.
+     * has a transparency set to {@code TRANSLUCENT} and uses the correct transparent color. For Java < 11 only.
      *
      * @return a <code>BufferedImage</code> containing the decoded
@@ -1801,5 +1801,5 @@
         try {
             bi = reader.read(0, param);
-            if (bi.getTransparency() != Transparency.TRANSLUCENT && (readMetadata || enforceTransparency)) {
+            if (bi.getTransparency() != Transparency.TRANSLUCENT && (readMetadata || enforceTransparency) && Utils.getJavaVersion() < 11) {
                 Color color = getTransparentColor(bi.getColorModel(), reader);
                 if (color != null) {
Index: trunk/test/unit/org/openstreetmap/josm/tools/ImageProviderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/ImageProviderTest.java	(revision 13822)
+++ trunk/test/unit/org/openstreetmap/josm/tools/ImageProviderTest.java	(revision 13823)
@@ -64,6 +64,7 @@
         assertEquals(Transparency.TRANSLUCENT, ImageProvider.read(file, true, true).getTransparency());
         assertEquals(Transparency.TRANSLUCENT, ImageProvider.read(file, false, true).getTransparency());
-        assertEquals(Transparency.OPAQUE, ImageProvider.read(file, false, false).getTransparency());
-        assertEquals(Transparency.OPAQUE, ImageProvider.read(file, true, false).getTransparency());
+        long expectedTransparency = Utils.getJavaVersion() < 11 ? Transparency.OPAQUE : Transparency.TRANSLUCENT;
+        assertEquals(expectedTransparency, ImageProvider.read(file, false, false).getTransparency());
+        assertEquals(expectedTransparency, ImageProvider.read(file, true, false).getTransparency());
     }
 
