Index: trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 18651)
+++ trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 18652)
@@ -130,4 +130,5 @@
 import org.openstreetmap.josm.tools.MemoryManager.MemoryHandle;
 import org.openstreetmap.josm.tools.MemoryManager.NotEnoughMemoryException;
+import org.openstreetmap.josm.tools.TextUtils;
 import org.openstreetmap.josm.tools.Utils;
 import org.openstreetmap.josm.tools.bugreport.BugReport;
@@ -432,5 +433,5 @@
                 String url = "";
                 try {
-                    url = tile.getUrl();
+                    url = TextUtils.stripUrl(tile.getUrl());
                 } catch (IOException e) {
                     // silence exceptions
Index: trunk/src/org/openstreetmap/josm/tools/HttpClient.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 18651)
+++ trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 18652)
@@ -34,4 +34,5 @@
 import org.openstreetmap.josm.io.auth.DefaultAuthenticator;
 import org.openstreetmap.josm.spi.preferences.Config;
+import org.openstreetmap.josm.tools.TextUtils;
 
 /**
@@ -126,13 +127,4 @@
 
     /**
-     * Removed privacy related parts form output URL
-     * @param url Unmodified URL
-     * @return Stripped URL (privacy related issues removed)
-     */
-    private String stripUrl(URL url) {
-        return url.toString().replaceAll("(token|key|connectId)=[^&]+", "$1=...stripped...");
-    }
-
-    /**
      * Opens the HTTP connection.
      * @param progressMonitor progress monitor
@@ -158,5 +150,5 @@
                 final boolean hasReason = !Utils.isEmpty(reasonForRequest);
                 logRequest("{0} {1}{2} -> {3} {4} ({5}{6})",
-                        getRequestMethod(), stripUrl(getURL()), hasReason ? (" (" + reasonForRequest + ')') : "",
+                        getRequestMethod(), TextUtils.stripUrl(getURL().toString()), hasReason ? (" (" + reasonForRequest + ')') : "",
                         cr.getResponseVersion(), cr.getResponseCode(),
                         stopwatch,
@@ -176,5 +168,5 @@
                 }
             } catch (IOException | RuntimeException e) {
-                logRequest("{0} {1} -> !!! ({2})", requestMethod, stripUrl(url), stopwatch);
+                logRequest("{0} {1} -> !!! ({2})", requestMethod, TextUtils.stripUrl(url.toString()), stopwatch);
                 Logging.warn(e);
                 //noinspection ThrowableResultOfMethodCallIgnored
Index: trunk/src/org/openstreetmap/josm/tools/TextUtils.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/TextUtils.java	(revision 18651)
+++ trunk/src/org/openstreetmap/josm/tools/TextUtils.java	(revision 18652)
@@ -21,3 +21,14 @@
         return url.replace("/", "/\u200b").replace("&", "&\u200b");
     }
+
+    /**
+     * Remove privacy related parts form output URL
+     * @param url Unmodified URL
+     * @return Stripped URL (privacy related issues removed)
+     * @since 18652
+     */
+    public static String stripUrl(String url) {
+        return url.replaceAll("(token|key|connectId)=[^&]+", "$1=...stripped...");
+    }
+
 }
