Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java	(revision 24917)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java	(revision 24919)
@@ -40,4 +40,5 @@
 	public JRadioButton triangleInvDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/TriangleInvDayButton.png")));
 	public JRadioButton squareDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/SquareDayButton.png")));
+	public JRadioButton circleDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/CircleDayButton.png")));
 	public JRadioButton mooringTopButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/MooringTopButton.png")));
 	private EnumMap<Top, JRadioButton> tops = new EnumMap<Top, JRadioButton>(Top.class);
@@ -92,4 +93,5 @@
 		this.add(getDayButton(triangleInvDayButton, 130, 65, 27, 27, "TriangleInvDayTip", Day.TRIANGLE_INV), null);
 		this.add(getDayButton(squareDayButton, 160, 65, 27, 27, "SquareDayTip", Day.SQUARE), null);
+		this.add(getDayButton(circleDayButton, 160, 95, 27, 27, "CircleDayTip", Day.CIRCLE), null);
 		this.add(getMoorButton(mooringTopButton, 40, 95, 27, 27, "MooringTopTip"), null);
 	}
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 24917)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 24919)
@@ -245,5 +245,5 @@
 
 	public enum Day {
-		NONE, BOARD, DIAMOND, TRIANGLE, TRIANGLE_INV, SQUARE
+		NONE, BOARD, DIAMOND, CIRCLE, TRIANGLE, TRIANGLE_INV, SQUARE
 	}
 
@@ -252,4 +252,5 @@
 		days.put(Day.BOARD, "board");
 		days.put(Day.DIAMOND, "diamond");
+		days.put(Day.CIRCLE, "circle");
 		days.put(Day.TRIANGLE, "triangle, point up");
 		days.put(Day.TRIANGLE_INV, "triangle, point down");
@@ -673,5 +674,5 @@
 		String shpStr = shapes.get(shape);
 		if (shpStr == null)
-			dlg.panelMain.topIcon.setIcon(null);
+			dlg.panelMain.shapeIcon.setIcon(null);
 		else {
 			imgStr += shpStr;
@@ -684,5 +685,45 @@
 			}
 			imgStr += ".png";
-			dlg.panelMain.topIcon.setIcon(new ImageIcon(getClass().getResource(imgStr)));
+			dlg.panelMain.shapeIcon.setIcon(new ImageIcon(getClass().getResource(imgStr)));
+		}
+
+		imgStr = "/images/top_";
+		shpStr = tops.get(topShape);
+		if (shpStr == null)
+			dlg.panelMain.topIcon.setIcon(null);
+		else {
+			switch (getShape()) {
+			case CAN:
+			case CONE:
+			case SPHERE:
+			case BARREL:
+				imgStr += "il_";
+				break;
+			case PILLAR:
+			case SPAR:
+				imgStr += "ih_";
+				break;
+			case FLOAT:
+			case SUPER:
+				imgStr += "vl_";
+				break;
+			case BEACON:
+			case TOWER:
+				imgStr += "vh_";
+				break;
+			default:
+				imgStr = null;
+				dlg.panelMain.topIcon.setIcon(null);
+				break;
+			}
+			if (imgStr != null) {
+				imgStr += shpStr;
+				String colStr = colours.get(topColour);
+				if (colStr != null)
+					imgStr += ("_" + colStr);
+				imgStr += ".png";
+System.out.println(imgStr);
+//				dlg.panelMain.topIcon.setIcon(new ImageIcon(getClass().getResource(imgStr)));
+			}
 		}
 
