Index: src/org/openstreetmap/josm/gui/io/importexport/JpgImporter.java
===================================================================
--- src/org/openstreetmap/josm/gui/io/importexport/JpgImporter.java	(revision 17426)
+++ src/org/openstreetmap/josm/gui/io/importexport/JpgImporter.java	(working copy)
@@ -10,11 +10,14 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.io.CachedFile;
 import org.openstreetmap.josm.io.IllegalDataException;
 
 /**
@@ -22,6 +25,11 @@
  *
  */
 public class JpgImporter extends FileImporter {
+    /** Check if the filename starts with a borked path ({@link java.io.File#File} drops consecutive {@code /} characters). */
+    private static final Pattern URL_START_BAD = Pattern.compile("^(https?:/)([^/].*)$");
+    /** Check for the beginning of a "good" url */
+    private static final Pattern URL_START_GOOD = Pattern.compile("^https?://.*$");
+
     private GpxLayer gpx;
 
     /**
@@ -106,7 +114,20 @@
                         progressMonitor.worked(1);
                     }
                 } else {
-                    if (FILE_FILTER.accept(f)) {
+                    /* Check if the path is a web path, and if so, ensure that it is "correct" */
+                    final String path = f.getPath();
+                    Matcher matcherBad = URL_START_BAD.matcher(path);
+                    final String realPath;
+                    if (matcherBad.matches()) {
+                        realPath = matcherBad.replaceFirst(matcherBad.group(1) + "/" + matcherBad.group(2));
+                    } else {
+                        realPath = path;
+                    }
+                    if (URL_START_GOOD.matcher(realPath).matches() && FILE_FILTER.accept(f)) {
+                        try (CachedFile cachedFile = new CachedFile(realPath)) {
+                            files.add(cachedFile.getFile());
+                        }
+                    } else if (FILE_FILTER.accept(f)) {
                         files.add(f);
                     }
                     progressMonitor.worked(1);
