Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/BingAerialTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/BingAerialTileSource.java	(revision 25266)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/BingAerialTileSource.java	(revision 25314)
@@ -161,5 +161,5 @@
     public Image getAttributionImage() {
         try {
-            return ImageIO.read(getClass().getResourceAsStream("/images/bing_maps.png"));
+            return ImageIO.read(getClass().getResourceAsStream("images/bing_maps.png"));
         } catch (IOException e) {
             return null;
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java	(revision 25266)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java	(revision 25314)
@@ -56,5 +56,5 @@
         });
         JComboBox tileSourceSelector = new JComboBox(new TileSource[] { new OsmTileSource.Mapnik(),
-                new OsmTileSource.TilesAtHome(), new OsmTileSource.CycleMap() });
+                new OsmTileSource.TilesAtHome(), new OsmTileSource.CycleMap(), new BingAerialTileSource() });
         tileSourceSelector.addItemListener(new ItemListener() {
             public void itemStateChanged(ItemEvent e) {
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileSource.java	(revision 25266)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileSource.java	(revision 25314)
@@ -23,12 +23,8 @@
         }
 
-        public AbstractOsmTileSource(String name, String base_url, String attr_img_url)
-        {
+        public AbstractOsmTileSource(String name, String base_url, String attr_img_url) {
             NAME = name;
             BASE_URL = base_url;
             ATTR_IMG_URL = attr_img_url;
-            if(ATTR_IMG_URL == null) {
-                REQUIRES_ATTRIBUTION = false;
-            }
         }
 
@@ -78,5 +74,5 @@
 
         public Image getAttributionImage() {
-            if(ATTR_IMG_URL != null)
+            if (ATTR_IMG_URL != null)
                 return new ImageIcon(ATTR_IMG_URL).getImage();
             else
@@ -89,5 +85,5 @@
 
         public String getAttributionText(int zoom, Coordinate topLeft, Coordinate botRight) {
-            return "CC-BY-SA OpenStreetMap and Contributors";
+            return "© OpenStreetMap contributors, CC-BY-SA ";
         }
 
@@ -97,25 +93,23 @@
 
         public String getTermsOfUseURL() {
-            return "http://openstreetmap.org/";
+            return "http://www.openstreetmap.org/copyright";
         }
 
         public double latToTileY(double lat, int zoom) {
-	    double l = lat / 180 * Math.PI;
-	    double pf = Math.log(Math.tan(l) + (1 / Math.cos(l)));
-	    return Math.pow(2.0, zoom - 1) * (Math.PI - pf) / Math.PI;
+            double l = lat / 180 * Math.PI;
+            double pf = Math.log(Math.tan(l) + (1 / Math.cos(l)));
+            return Math.pow(2.0, zoom - 1) * (Math.PI - pf) / Math.PI;
         }
 
         public double lonToTileX(double lon, int zoom) {
-	    return Math.pow(2.0, zoom - 3) * (lon + 180.0) / 45.0;
+            return Math.pow(2.0, zoom - 3) * (lon + 180.0) / 45.0;
         }
 
         public double tileYToLat(int y, int zoom) {
-	    return Math.atan(Math.sinh(Math.PI
-                - (Math.PI * y / Math.pow(2.0, zoom - 1))))
-                * 180 / Math.PI;
+            return Math.atan(Math.sinh(Math.PI - (Math.PI * y / Math.pow(2.0, zoom - 1)))) * 180 / Math.PI;
         }
 
         public double tileXToLon(int x, int zoom) {
-	    return x * 45.0 / Math.pow(2.0, zoom - 3) - 180.0;
+            return x * 45.0 / Math.pow(2.0, zoom - 3) - 180.0;
         }
     }
@@ -164,4 +158,5 @@
     public static abstract class OsmaSource extends AbstractOsmTileSource {
         String osmaSuffix;
+
         public OsmaSource(String name, String osmaSuffix) {
             super(name, MAP_OSMA);
@@ -183,4 +178,5 @@
         }
     }
+
     public static class TilesAtHome extends OsmaSource {
         public TilesAtHome() {
@@ -188,4 +184,5 @@
         }
     }
+
     public static class Maplint extends OsmaSource {
         public Maplint() {
