Index: applications/editors/josm/plugins/ElevationProfile/build.xml
===================================================================
--- applications/editors/josm/plugins/ElevationProfile/build.xml	(revision 31088)
+++ applications/editors/josm/plugins/ElevationProfile/build.xml	(revision 31089)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="[josm_elevationprofile]"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="7886"/>
+    <property name="plugin.main.version" value="8168"/>
     
     <!-- Configure these properties (replace "..." accordingly).
Index: applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation/grid/ElevationGridTileLoader.java
===================================================================
--- applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation/grid/ElevationGridTileLoader.java	(revision 31088)
+++ applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation/grid/ElevationGridTileLoader.java	(revision 31089)
@@ -13,42 +13,47 @@
  */
 public class ElevationGridTileLoader implements TileLoader {
-    protected TileLoaderListener listener;
+	protected TileLoaderListener listener;
 
-    public ElevationGridTileLoader(TileLoaderListener listener) {
-        CheckParameterUtil.ensureParameterNotNull(listener);
-        this.listener = listener;
-    }
+	public ElevationGridTileLoader(TileLoaderListener listener) {
+		CheckParameterUtil.ensureParameterNotNull(listener);
+		this.listener = listener;
+	}
 
-    @Override
-    public TileJob createTileLoaderJob(final Tile tile) {
-        CheckParameterUtil.ensureParameterNotNull(tile);
+	@Override
+	public TileJob createTileLoaderJob(final Tile tile) {
+		CheckParameterUtil.ensureParameterNotNull(tile);
 
-        return new TileJob() {
+		return new TileJob() {
 
-            @Override
-            public void run() {
-                synchronized (tile) {
-                    if ((tile.isLoaded() && !tile.hasError()) || tile.isLoading())
-                        return;
-                    tile.initLoading();
-                }
-                try {
-                    tile.loadImage(null);
-                    tile.setLoaded(true);
-                    listener.tileLoadingFinished(tile, true);
-                } catch (Exception e) {
-                    tile.setError(e.getMessage());
-                    listener.tileLoadingFinished(tile, false);
-                } finally {
-                    tile.finishLoading();
-                }
-            }
+			@Override
+			public void run() {
+				synchronized (tile) {
+					if ((tile.isLoaded() && !tile.hasError()) || tile.isLoading())
+						return;
+					tile.initLoading();
+				}
+				try {
+					tile.loadImage(null);
+					tile.setLoaded(true);
+					listener.tileLoadingFinished(tile, true);
+				} catch (Exception e) {
+					tile.setError(e.getMessage());
+					listener.tileLoadingFinished(tile, false);
+				} finally {
+					tile.finishLoading();
+				}
+			}
 
-            @Override
-            public Tile getTile() {
-                return tile;
-            }
-        };
-    }
+			@Override
+			public Tile getTile() {
+				return tile;
+			}
+
+			@Override
+			public void submit() {
+				run();
+			}
+		};
+	}
 
 }
