Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java	(revision 31425)
@@ -1,5 +1,4 @@
 package org.openstreetmap.josm.plugins.mapillary;
 
-import java.io.File;
 import java.io.IOException;
 
@@ -32,6 +31,4 @@
 public class MapillaryPlugin extends Plugin {
 
-  /** Plugin's directory */
-  public static String directory;
   /** OS route separator */
   public static final String SEPARATOR = System.getProperty("file.separator");
@@ -88,14 +85,10 @@
     super(info);
 
-
-    directory = new File("").getAbsolutePath() + SEPARATOR;
-    ICON24 = new ImageProvider(directory + "images" + SEPARATOR + "icon24.png").get();
-    ICON16 = new ImageProvider(directory + "images" + SEPARATOR + "icon16.png").get();
-    MAP_ICON = new ImageProvider(directory + "images" + SEPARATOR + "mapicon.png").get();
-    MAP_ICON_SELECTED = new ImageProvider(directory
-        + "images" + SEPARATOR + "mapiconselected.png").get();
-    MAP_ICON_IMPORTED = new ImageProvider(directory
-        + "images/mapiconimported.png").get();
-    MAP_SIGN = new ImageProvider(directory + "images" + SEPARATOR + "sign.png").get();
+    ICON24 = new ImageProvider("icon24.png").get();
+    ICON16 = new ImageProvider("icon16.png").get();
+    MAP_ICON = new ImageProvider("mapicon.png").get();
+    MAP_ICON_SELECTED = new ImageProvider("mapiconselected.png").get();
+    MAP_ICON_IMPORTED = new ImageProvider("mapiconimported.png").get();
+    MAP_SIGN = new ImageProvider("sign.png").get();
 
     downloadAction = new MapillaryDownloadAction();
@@ -184,3 +177,16 @@
     return new MapillaryPreferenceSetting();
   }
+
+  /**
+   * Returns a ImageProvider for the given string or null if in headless mode.
+   *
+   * @param s
+   * @return A ImageProvider object for the given string or null if in headless mode.
+   */
+  public static ImageProvider getProvider(String s) {
+    if (Main.map == null)
+      return null;
+    else
+      return new ImageProvider(s);
+  }
 }
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadAction.java	(revision 31425)
@@ -13,5 +13,4 @@
 import org.openstreetmap.josm.plugins.mapillary.MapillaryLayer;
 import org.openstreetmap.josm.plugins.mapillary.MapillaryPlugin;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -31,6 +30,5 @@
    */
   public MapillaryDownloadAction() {
-    super(tr("Mapillary"), new ImageProvider(MapillaryPlugin.directory
-        + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"),
+    super(tr("Mapillary"), MapillaryPlugin.getProvider("icon24.png"),
         tr("Create Mapillary layer"), Shortcut.registerShortcut("Mapillary",
             tr("Start Mapillary layer"), KeyEvent.VK_COMMA, Shortcut.SHIFT),
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadViewAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadViewAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadViewAction.java	(revision 31425)
@@ -7,5 +7,4 @@
 
 import org.openstreetmap.josm.actions.JosmAction;
-import org.openstreetmap.josm.plugins.mapillary.MapillaryPlugin;
 import org.openstreetmap.josm.plugins.mapillary.downloads.MapillaryDownloader;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -27,5 +26,5 @@
   public MapillaryDownloadViewAction() {
     super(tr("Download Mapillary images in current view"), new ImageProvider(
-        MapillaryPlugin.directory + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"), tr("Download Mapillary images in current view"),
+        "icon24.png"), tr("Download Mapillary images in current view"),
         Shortcut.registerShortcut("Mapillary area",
             tr("Download Mapillary images in current view"),
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryExportAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryExportAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryExportAction.java	(revision 31425)
@@ -24,5 +24,4 @@
 import org.openstreetmap.josm.plugins.mapillary.downloads.MapillaryExportManager;
 import org.openstreetmap.josm.plugins.mapillary.gui.MapillaryExportDialog;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -43,6 +42,5 @@
    */
   public MapillaryExportAction() {
-    super(tr("Export pictures"), new ImageProvider(MapillaryPlugin.directory
-        + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"),
+    super(tr("Export pictures"), MapillaryPlugin.getProvider("icon24.png"),
         tr("Export pictures"), Shortcut.registerShortcut("Export Mapillary",
             tr("Export Mapillary pictures"), KeyEvent.CHAR_UNDEFINED,
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryImportAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryImportAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryImportAction.java	(revision 31425)
@@ -26,5 +26,4 @@
 import org.openstreetmap.josm.plugins.mapillary.MapillaryLayer;
 import org.openstreetmap.josm.plugins.mapillary.MapillaryPlugin;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -50,6 +49,5 @@
    */
   public MapillaryImportAction() {
-    super(tr("Import pictures"), new ImageProvider(MapillaryPlugin.directory
-        + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"),
+    super(tr("Import pictures"), MapillaryPlugin.getProvider("icon24.png"),
         tr("Import local pictures"), Shortcut.registerShortcut(
             "Import Mapillary", tr("Import pictures into Mapillary layer"),
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryImportIntoSequenceAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryImportIntoSequenceAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryImportIntoSequenceAction.java	(revision 31425)
@@ -30,5 +30,4 @@
 import org.openstreetmap.josm.plugins.mapillary.MapillaryPlugin;
 import org.openstreetmap.josm.plugins.mapillary.MapillarySequence;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -51,7 +50,5 @@
    */
   public MapillaryImportIntoSequenceAction() {
-    super(tr("Import pictures into sequence"), new ImageProvider(
-        MapillaryPlugin.directory
-            + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"),
+    super(tr("Import pictures into sequence"), MapillaryPlugin.getProvider("icon24.png"),
         tr("Import local pictures"), Shortcut.registerShortcut(
             "Import Mapillary Sequence",
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryJoinAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryJoinAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryJoinAction.java	(revision 31425)
@@ -11,5 +11,4 @@
 import org.openstreetmap.josm.plugins.mapillary.mode.JoinMode;
 import org.openstreetmap.josm.plugins.mapillary.mode.SelectMode;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -28,6 +27,5 @@
    */
   public MapillaryJoinAction() {
-    super(tr("Join mode"), new ImageProvider(MapillaryPlugin.directory
-        + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"),
+    super(tr("Join mode"), MapillaryPlugin.getProvider("icon24.png"),
         tr("Join/unjoin pictures"), Shortcut.registerShortcut("Mapillary join",
             tr("Join Mapillary pictures"), KeyEvent.CHAR_UNDEFINED,
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryWalkAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryWalkAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryWalkAction.java	(revision 31425)
@@ -18,5 +18,4 @@
 import org.openstreetmap.josm.plugins.mapillary.gui.MapillaryMainDialog;
 import org.openstreetmap.josm.plugins.mapillary.gui.MapillaryWalkDialog;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -39,6 +38,5 @@
    */
   public MapillaryWalkAction() {
-    super(tr("Walk mode"), new ImageProvider(MapillaryPlugin.directory
-        + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"), tr("Walk mode"),
+    super(tr("Walk mode"), MapillaryPlugin.getProvider("icon24.png"), tr("Walk mode"),
         Shortcut.registerShortcut("Mapillary walk", tr("Start walk mode"),
             KeyEvent.CHAR_UNDEFINED, Shortcut.NONE), false, "mapillaryWalk",
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryZoomAction.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryZoomAction.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryZoomAction.java	(revision 31425)
@@ -12,5 +12,4 @@
 import org.openstreetmap.josm.plugins.mapillary.MapillaryDataListener;
 import org.openstreetmap.josm.plugins.mapillary.MapillaryPlugin;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -30,7 +29,5 @@
    */
   public MapillaryZoomAction() {
-    super(tr("Zoom to selected image"), new ImageProvider(
-        MapillaryPlugin.directory
-            + "images" + MapillaryPlugin.SEPARATOR + "icon24.png"),
+    super(tr("Zoom to selected image"), MapillaryPlugin.getProvider("icon24.png"),
         tr("Zoom to selected image"), Shortcut.registerShortcut(
             "Zoom Mapillary",
Index: /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/AbstractTest.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/AbstractTest.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/AbstractTest.java	(revision 31425)
@@ -19,8 +19,5 @@
   @BeforeClass
   public static void setUpBeforeClass() {
-    if (!started) {
-      TestUtil.initPlugin();
-      started = true;
-    }
+    TestUtil.initPlugin();
   }
 }
Index: /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/ImportTest.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/ImportTest.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/ImportTest.java	(revision 31425)
@@ -2,4 +2,5 @@
 
 import static org.junit.Assert.*;
+
 import org.junit.Test;
 
@@ -27,6 +28,6 @@
   @Test
   public void importNoTagsTest() {
-    File image = new File(MapillaryPlugin.directory + "images/icon16.png");
-    MapillaryImportedImage img = MapillaryPlugin.importAction.readNoTags(image,
+    File image = new File("images/icon16.png");
+    MapillaryImportedImage img = new MapillaryImportAction().readNoTags(image,
         new LatLon(0, 0));
     assertEquals(0, img.getCa(), 0.01);
Index: /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/util/TestUtil.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/util/TestUtil.java	(revision 31424)
+++ /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/util/TestUtil.java	(revision 31425)
@@ -41,10 +41,4 @@
       I18n.set(Main.pref.get("language", "en"));
       Main.setProjection(Projections.getProjectionByCode("EPSG:3857")); // Mercator
-      try {
-        new MapillaryPlugin(new PluginInformation(new File(
-            "./build/libs/josm-mapillary-plugin.jar")));
-      } catch (PluginException e) {
-        e.printStackTrace();
-      }
       isInitialized = true;
     }
