Index: applications/editors/josm/plugins/seachart/jicons/src/jicons/Jicons.java
===================================================================
--- applications/editors/josm/plugins/seachart/jicons/src/jicons/Jicons.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/jicons/src/jicons/Jicons.java	(revision 31343)
@@ -17,4 +17,5 @@
 import java.io.OutputStreamWriter;
 import java.io.Writer;
+import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.Graphics2D;
@@ -33,4 +34,5 @@
 import s57.S57map;
 import s57.S57map.*;
+import symbols.Symbols;
 import render.*;
 import render.Rules.RuleSet;
@@ -200,4 +202,14 @@
 			return Math.min(w, h);
 		}
+
+		@Override
+		public boolean clip() {
+			return false;
+		}
+
+		@Override
+		public Color background() {
+			return new Color(0, true);
+		}
 	}
 }
Index: applications/editors/josm/plugins/seachart/src/render/ChartContext.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/ChartContext.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/src/render/ChartContext.java	(revision 31343)
@@ -10,4 +10,5 @@
 package render;
 
+import java.awt.Color;
 import java.awt.geom.Point2D;
 
@@ -17,3 +18,5 @@
 	Point2D getPoint(Snode coord);
 	double mile(Feature feature);
+	boolean clip();
+	Color background();
 }
Index: applications/editors/josm/plugins/seachart/src/render/Renderer.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Renderer.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/src/render/Renderer.java	(revision 31343)
@@ -43,8 +43,10 @@
 		sScale = symbolScale[zoom] * factor;
 		if (map != null) {
-			Point2D tl = context.getPoint(map.new Snode(map.bounds.maxlat, map.bounds.minlon));
-			Point2D br = context.getPoint(map.new Snode(map.bounds.minlat, map.bounds.maxlon));
-			g2.clip(new Rectangle2D.Double(tl.getX(), tl.getY(), (br.getX() - tl.getX()), (br.getY() - tl.getY())));
-			g2.setBackground(Symbols.Bwater);
+			if (context.clip()) {
+				Point2D tl = context.getPoint(map.new Snode(map.bounds.maxlat, map.bounds.minlon));
+				Point2D br = context.getPoint(map.new Snode(map.bounds.minlat, map.bounds.maxlon));
+				g2.clip(new Rectangle2D.Double(tl.getX(), tl.getY(), (br.getX() - tl.getX()), (br.getY() - tl.getY())));
+			}
+			g2.setBackground(context.background());
 			g2.clearRect(rect.x, rect.y, rect.width, rect.height);
 			g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Index: applications/editors/josm/plugins/seachart/src/render/Rules.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 31343)
@@ -887,7 +887,7 @@
 				int i = 0;
 				for (AttMap atts : objs.values()) {
-					if (atts.get(Att.MARSYS) != null) sys = (MarSYS)atts.get(Att.MARSYS).val;
+					if (atts.get(Att.MARSYS) != null) sys = (MarSYS)(atts.get(Att.MARSYS).val);
 					CatNMK cat = CatNMK.NMK_UNKN;
-					if (atts.get(Att.CATNMK) != null) cat = (CatNMK)atts.get(Att.CATNMK).val;
+					if (atts.get(Att.CATNMK) != null) cat = (CatNMK)(atts.get(Att.CATNMK).val);
 					Symbol sym = Notices.getNotice(cat, sys);
 					Handle h = Handle.CC;
Index: applications/editors/josm/plugins/seachart/src/render/Signals.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 31343)
@@ -283,5 +283,5 @@
 
 	public static void lights(Feature feature) {
-		Enum<ColCOL> col = null;
+/*		Enum<ColCOL> col = null;
 		Enum<ColCOL> tcol = null;
 		ObjTab lights = feature.objs.get(Obj.LIGHTS);
@@ -412,5 +412,5 @@
 					AttMap m0 = group.get(i);
 					AttMap m1 = group.get(i+1);
-					if (((m0.containsKey(Att.VALNMR) && m1.containsKey(Att.VALNMR) && ((int)m0.get(Att.VALNMR).val < (int)m1.get(Att.VALNMR).val)))
+					if (((m0.containsKey(Att.VALNMR) && m1.containsKey(Att.VALNMR) && ((int)(m0.get(Att.VALNMR).val) < (int)(m1.get(Att.VALNMR).val))))
 							|| (!m0.containsKey(Att.VALNMR) && m1.containsKey(Att.VALNMR))) {
 						AttMap tmp = group.remove(i);
@@ -421,5 +421,5 @@
 			}
 		}
-	}
+*/	}
 
 }
Index: applications/editors/josm/plugins/seachart/src/s57/S57val.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57val.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/src/s57/S57val.java	(revision 31343)
@@ -35,10 +35,6 @@
 	
 	public static class AttVal<V> {
-//		public Att att;
 		public Conv conv;
 		public V val;
-//		AttVal(Att a, Conv c, V v) {
-//			att = a; conv = c; val = v;
-//		}
 		AttVal(Conv c, V v) {
 			conv = c; val = v;
Index: applications/editors/josm/plugins/seachart/src/seachart/ChartImage.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/seachart/ChartImage.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/src/seachart/ChartImage.java	(revision 31343)
@@ -32,4 +32,5 @@
 import render.Rules.RuleSet;
 import s57.S57map.*;
+import symbols.Symbols;
 
 public class ChartImage extends ImageryLayer implements ZoomChangeListener, ChartContext {
@@ -93,3 +94,11 @@
 		return 185000 / Main.map.mapView.getDist100Pixel();
 	}
+	
+	public boolean clip() {
+		return true;
+	}
+	
+	public Color background() {
+		return (Symbols.Bwater);
+	}
 }
Index: applications/editors/josm/plugins/seachart/src/seachart/SeachartAction.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/seachart/SeachartAction.java	(revision 31157)
+++ applications/editors/josm/plugins/seachart/src/seachart/SeachartAction.java	(revision 31343)
@@ -112,9 +112,9 @@
 	protected void createChartLayer() {
 		rendering = new ChartImage(new ImageryInfo("SeaChart"));
-		rendering.setBackgroundLayer(true);
 		Main.main.addLayer(rendering);
 		MapView.addEditLayerChangeListener(this);
 		MapView.addLayerChangeListener(this);
 		editLayerChanged(Main.main.getEditLayer(), Main.main.getEditLayer());
+		rendering.setBackgroundLayer(true);
 	}
 
