Index: /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerAbstract.java
===================================================================
--- /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerAbstract.java	(revision 26486)
+++ /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerAbstract.java	(revision 26487)
@@ -64,5 +64,5 @@
     private static int m_counter = 0;
     // This is the main image to be displayed
-    private BufferedImage m_image = null;
+    private Image m_image = null;
     // Initial position of the image in the real world
     private EastNorth m_initial_position;
@@ -132,12 +132,10 @@
 
         // Create image
-        Image image = createImage();
-        if ( image == null ) {
+        m_image = createImage();
+        if ( m_image == null ) {
             throw new IOException(tr("PicLayer failed to load or import the image."));
         }
-        // Convert to Buffered Image - not sure if this is the right way...
-        m_image = new BufferedImage( image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB );
-        Graphics g = m_image.getGraphics();
-        g.drawImage( image, 0, 0, null );
+        // Load image completely
+        (new ImageIcon(m_image)).getImage();
     }
 
@@ -224,5 +222,5 @@
 
             // Draw picture
-            g.drawImage( m_image, -m_image.getWidth() / 2, -m_image.getHeight() / 2, null );
+            g.drawImage( m_image, -m_image.getWidth(null) / 2, -m_image.getHeight(null) / 2, null );
 
             // Draw additional rectangle for the active pic layer
@@ -230,8 +228,8 @@
                 g.setColor( new Color( 0xFF0000 ) );
                 g.drawRect(
-                    -m_image.getWidth() / 2,
-                    -m_image.getHeight() / 2,
-                    m_image.getWidth(),
-                    m_image.getHeight()
+                    -m_image.getWidth(null) / 2,
+                    -m_image.getHeight(null) / 2,
+                    m_image.getWidth(null),
+                    m_image.getHeight(null)
                 );
             }
@@ -320,5 +318,5 @@
         // initial scale is in m/100pix
         // So for now, we support the bounding box only when everything is in meters
-        if ( projcode.equals("EPSG:3857") || projcode.equals("EPSG:4326") )
+        if (projcode.equals("EPSG:4326") )
             return;
             
Index: /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerPlugin.java
===================================================================
--- /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerPlugin.java	(revision 26486)
+++ /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerPlugin.java	(revision 26487)
@@ -62,4 +62,5 @@
         super(info);
 
+        System.err.println("hi there!");
         // Create menu entry
         if ( Main.main.menu != null ) {
