Index: /applications/editors/josm/plugins/seachart/jicons/src/jicons/Jicons.java
===================================================================
--- /applications/editors/josm/plugins/seachart/jicons/src/jicons/Jicons.java	(revision 31343)
+++ /applications/editors/josm/plugins/seachart/jicons/src/jicons/Jicons.java	(revision 31344)
@@ -34,5 +34,4 @@
 import s57.S57map;
 import s57.S57map.*;
-import symbols.Symbols;
 import render.*;
 import render.Rules.RuleSet;
Index: /applications/editors/josm/plugins/seachart/src/render/Rules.java
===================================================================
--- /applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 31343)
+++ /applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 31344)
@@ -441,11 +441,17 @@
 				Renderer.symbol(feature, Beacons.Shapes.get(shape), getScheme(feature, feature.type));
 				if (feature.objs.containsKey(Obj.TOPMAR)) {
-					Symbol topmark = Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val);
-					if (topmark != null)
-						Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), getScheme(feature, Obj.TOPMAR), Topmarks.BeaconDelta);
+					AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
+					if (topmap.containsKey(Att.TOPSHP)) {
+						Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
+						if (topmark != null)
+							Renderer.symbol(feature, topmark, getScheme(feature, Obj.TOPMAR), Topmarks.BeaconDelta);
+					}
 				} else if (feature.objs.containsKey(Obj.DAYMAR)) {
-					Symbol topmark = Topmarks.Shapes.get(feature.objs.get(Obj.DAYMAR).get(0).get(Att.TOPSHP).val);
-					if (topmark != null)
-						Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.DAYMAR).get(0).get(Att.TOPSHP).val), getScheme(feature, Obj.DAYMAR), Topmarks.BeaconDelta);
+					AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
+					if (topmap.containsKey(Att.TOPSHP)) {
+						Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
+						if (topmark != null)
+							Renderer.symbol(feature, topmark, getScheme(feature, Obj.DAYMAR), Topmarks.BeaconDelta);
+					}
 				}
 			}
@@ -462,5 +468,5 @@
 				AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Symbol topmark = Topmarks.Shapes.get(topmap.get(Att.TOPSHP).val);
+					Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
 					if (topmark != null)
 						Renderer.symbol(feature, topmark, getScheme(feature, Obj.TOPMAR), Topmarks.BuoyDeltas.get(shape));
@@ -469,5 +475,5 @@
 				AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Symbol topmark = Topmarks.Shapes.get(topmap.get(Att.TOPSHP).val);
+					Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
 					if (topmark != null)
 						Renderer.symbol(feature, topmark, getScheme(feature, Obj.DAYMAR), Topmarks.BuoyDeltas.get(shape));
