Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java	(revision 31538)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java	(revision 31539)
@@ -12,7 +12,6 @@
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
-import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
@@ -258,10 +257,7 @@
             synchronized (BingAerialTileSource.class) {
                 if (attributions == null) {
-                    attributions = Executors.newSingleThreadExecutor(new ThreadFactory() {
-                      @Override
-                      public Thread newThread(Runnable r) {
-                        return new Thread(r, "bing-attribution-loader");
-                      }
-                    }).submit(getAttributionLoaderCallable());
+                  final FutureTask<List<Attribution>> loader = new FutureTask<>(getAttributionLoaderCallable());
+                  new Thread(loader, "bing-attribution-loader").start();
+                  attributions = loader;
                 }
             }
