Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/interfaces/TileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/interfaces/TileSource.java	(revision 34764)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/interfaces/TileSource.java	(revision 34765)
@@ -92,5 +92,5 @@
      * @param la2 latitude of second point
      * @param lo2 longitude of second point
-     * @return the distance betwen first and second point, in m.
+     * @return the distance between first and second point, in m.
      */
     double getDistance(double la1, double lo1, double la2, double lo2);
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/OsmTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/OsmTileSource.java	(revision 34764)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/OsmTileSource.java	(revision 34765)
@@ -26,5 +26,5 @@
          */
         public Mapnik() {
-            super("Mapnik", PATTERN, "MAPNIK");
+            super("OpenStreetMap Carto", PATTERN, "standard");
             modTileFeatures = true;
         }
@@ -41,7 +41,7 @@
      * The "Cycle Map" OSM tile source.
      */
-    public static class CycleMap extends AbstractOsmTileSource {
+    public abstract static class CycleMap extends AbstractOsmTileSource {
 
-        private static final String PATTERN = "http://%s.tile.opencyclemap.org/cycle";
+        private static final String PATTERN = "https://%s.tile.thunderforest.com/cycle";
 
         private static final String[] SERVER = {"a", "b", "c"};
@@ -53,5 +53,5 @@
          */
         public CycleMap() {
-            super("Cyclemap", PATTERN, "opencyclemap");
+            super("OpenCycleMap", PATTERN, "opencyclemap");
         }
 
@@ -63,30 +63,4 @@
         }
 
-        @Override
-        public int getMaxZoom() {
-            return 18;
-        }
-    }
-
-    /**
-     * The "Transport Map" OSM tile source.
-     *
-     * Template for thunderforest.com.
-     */
-    public abstract static class TransportMap extends AbstractOsmTileSource {
-
-        private static final String PATTERN = "https://%s.tile.thunderforest.com/transport";
-
-        private static final String[] SERVER = {"a", "b", "c"};
-
-        private int serverNum;
-
-        /**
-         * Constructs a new {@code TransportMap} tile source.
-         */
-        public TransportMap() {
-            super("OSM Transport Map", PATTERN, "osmtransportmap");
-        }
-
         /**
          * Get the thunderforest API key.
@@ -96,11 +70,4 @@
          */
         protected abstract String getApiKey();
-
-        @Override
-        public String getBaseUrl() {
-            String url = String.format(this.baseUrl, new Object[] {SERVER[serverNum]});
-            serverNum = (serverNum + 1) % SERVER.length;
-            return url;
-        }
 
         @Override
@@ -115,13 +82,42 @@
 
         @Override
+        public String getTermsOfUseText() {
+            return "Maps © Thunderforest";
+        }
+
+        @Override
+        public String getTermsOfUseURL() {
+            return "https://thunderforest.com/terms/";
+        }
+    }
+
+    /**
+     * The "Transport Map" OSM tile source.
+     *
+     * Template for thunderforest.com.
+     */
+    public static class TransportMap extends AbstractOsmTileSource {
+
+        /**
+         * Constructs a new {@code TransportMap} tile source.
+         */
+        public TransportMap() {
+            super("Public Transport", "https://tile.memomaps.de/tilegen", "public_transport_oepnv");
+        }
+
+        @Override
+        public int getMaxZoom() {
+            return 18;
+        }
+
+        @Override
         public String getAttributionText(int zoom, ICoordinate topLeft, ICoordinate botRight) {
-            return "Maps © Thunderforest, Data © OpenStreetMap contributors";
+            return "© OpenStreetMap contributors, CC-BY-SA";
         }
 
         @Override
         public String getAttributionLinkURL() {
-            return "http://www.thunderforest.com/";
+            return "https://öpnvkarte.de/<";
         }
     }
-
 }
