Index: trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 4536)
+++ trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 4538)
@@ -24,4 +24,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -108,5 +109,5 @@
     protected MemoryTileCache tileCache;
     protected TileSource tileSource;
-    protected TileLoader tileLoader;
+    protected OsmTileLoader tileLoader;
     JobDispatcher jobDispatcher = JobDispatcher.getInstance();
 
@@ -276,4 +277,11 @@
         if (tileLoader == null) {
             tileLoader = new OsmTileLoader(this);
+        }
+        tileLoader.timeoutConnect = Main.pref.getInteger("socket.timeout.connect",15) * 1000;
+        tileLoader.timeoutRead = Main.pref.getInteger("socket.timeout.read", 30) * 1000;
+        if (tileSource instanceof TemplatedTMSTileSource) {
+            for(Entry<String, String> e : ((TemplatedTMSTileSource)tileSource).getHeaders().entrySet()) {
+                tileLoader.headers.put(e.getKey(), e.getValue());
+            }
         }
     }
