Index: trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 8639)
+++ trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 8640)
@@ -263,5 +263,5 @@
     }
 
-    private boolean isCacheElementValid() {
+    protected boolean isCacheElementValid() {
         long expires = attributes.getExpirationTime();
 
Index: trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java	(revision 8639)
+++ trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java	(revision 8640)
@@ -267,5 +267,5 @@
     public Tile getCachedTile() {
         BufferedImageCacheEntry data = get();
-        if (isObjectLoadable()) {
+        if (isObjectLoadable() && isCacheElementValid()) {
             try {
                 // set tile metadata
