Index: trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 9227)
+++ trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 9228)
@@ -311,5 +311,5 @@
             }
 
-            HttpURLConnection urlConn = getURLConnection(getUrl());
+            HttpURLConnection urlConn = getURLConnection(getUrl(), true);
 
             if (isObjectLoadable()  &&
@@ -326,5 +326,5 @@
             for (int i = 0; i < 5; i++) {
                 if (urlConn.getResponseCode() == 302) {
-                    urlConn = getURLConnection(new URL(urlConn.getHeaderField("Location")));
+                    urlConn = getURLConnection(new URL(urlConn.getHeaderField("Location")), true);
                 } else {
                     break;
@@ -470,5 +470,5 @@
     }
 
-    private HttpURLConnection getURLConnection(URL url) throws IOException {
+    private HttpURLConnection getURLConnection(URL url, boolean noCache) throws IOException {
         HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
         urlConn.setRequestProperty("Accept", "text/html, image/png, image/jpeg, image/gif, */*");
@@ -481,5 +481,5 @@
         }
 
-        if (force) {
+        if (force || noCache) {
             urlConn.setUseCaches(false);
         }
@@ -488,9 +488,9 @@
 
     private boolean isCacheValidUsingHead() throws IOException {
-        HttpURLConnection urlConn = getURLConnection(getUrl());
+        HttpURLConnection urlConn = getURLConnection(getUrl(), false);
         urlConn.setRequestMethod("HEAD");
         for (int i = 0; i < 5; i++) {
             if (urlConn.getResponseCode() == 302) {
-                urlConn = getURLConnection(new URL(urlConn.getHeaderField("Location")));
+                urlConn = getURLConnection(new URL(urlConn.getHeaderField("Location")), false);
             } else {
                 break;
