Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java	(revision 36053)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java	(revision 36054)
@@ -9,5 +9,4 @@
 import java.awt.Graphics2D;
 import java.awt.Point;
-import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 
@@ -15,5 +14,4 @@
 import javax.swing.Action;
 import javax.swing.Icon;
-import javax.swing.ImageIcon;
 
 import org.openstreetmap.josm.data.Bounds;
@@ -34,9 +32,13 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 
+/**
+ * The layer for editing GPX data
+ */
 public class EditGpxLayer extends Layer {
 
-    private static Icon icon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(EditGpxPlugin.class.getResource("/images/editgpx_layer.png")));
+    private static final Icon icon = new ImageProvider("editgpx_layer").get();
+    /** The data that is being edited */
     public final EditGpxData data;
-    private GPXLayerImportAction layerImport;
+    private final GPXLayerImportAction layerImport;
 
     /**
Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java	(revision 36053)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java	(revision 36054)
@@ -12,4 +12,5 @@
 import java.awt.Rectangle;
 import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
 import java.util.List;
@@ -29,5 +30,9 @@
 import org.openstreetmap.josm.plugins.editgpx.data.EditGpxTrackSegment;
 import org.openstreetmap.josm.plugins.editgpx.data.EditGpxWayPoint;
-
+import org.openstreetmap.josm.tools.Shortcut;
+
+/**
+ * Enter the mode for editing GPX data
+ */
 public class EditGpxMode extends MapMode implements LayerChangeListener {
 
@@ -43,5 +48,7 @@
      */
     public EditGpxMode(MapFrame mapFrame) {
-        super("editgpx", "editgpx_mode.png", tr("edit gpx tracks"), Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
+        super("editgpx", "editgpx_mode", tr("edit gpx tracks"),
+                Shortcut.registerShortcut("editgpx:editgpx_mode", tr("EditGPX Mode"), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE),
+                Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
         this.mapFrame = mapFrame;
     }
@@ -100,7 +107,7 @@
                 }
             }
+            currentEditLayer.invalidate();
         }
         oldRect = null;
-        MainApplication.getMap().mapView.repaint();
     }
 
@@ -176,5 +183,5 @@
             currentEditLayer.initializeImport();
         }
-        MainApplication.getMap().mapView.repaint();
+        currentEditLayer.invalidate();
     }
 
Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxPlugin.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxPlugin.java	(revision 36053)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxPlugin.java	(revision 36054)
@@ -3,6 +3,4 @@
  */
 package org.openstreetmap.josm.plugins.editgpx;
-
-import javax.swing.ImageIcon;
 
 import org.openstreetmap.josm.gui.IconToggleButton;
@@ -44,7 +42,3 @@
         }
     }
-
-    public static ImageIcon loadIcon(String name) {
-        return new ImageIcon(EditGpxPlugin.class.getResource("/images/editgpx.png"));
-    }
 }
Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java	(revision 36053)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java	(revision 36054)
@@ -31,10 +31,9 @@
 /**
  * Import GPX data from available layers.
- *
  */
 class GPXLayerImportAction extends AbstractAction {
 
-    private EditGpxData data;
-    public Object importing = new Object(); //used for synchronization
+    private final EditGpxData data;
+    public final Object importing = new Object(); //used for synchronization
 
     public GPXLayerImportAction(EditGpxData data) {
@@ -103,5 +102,4 @@
                 }
             }
-            MainApplication.getMap().mapView.repaint();
 
         } else {
