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 27372)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelTop.java	(revision 27373)
@@ -27,5 +27,5 @@
 	public JRadioButton spheres2TopButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/Spheres2TopButton.png")));
 	public JRadioButton boardDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/BoardDayButton.png")));
-	public JRadioButton diamondDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/DiamondDayButton.png")));
+	public JRadioButton rhombusDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/DiamondDayButton.png")));
 	public JRadioButton triangleDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/TriangleDayButton.png")));
 	public JRadioButton triangleInvDayButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/TriangleInvDayButton.png")));
@@ -65,5 +65,5 @@
 		add(getTopButton(spheres2TopButton, 120, 35, 27, 27, "Spheres2Top", Top.SPHERES2));
 		add(getTopButton(boardDayButton, 0, 65, 27, 27, "BoardDay", Top.BOARD));
-		add(getTopButton(diamondDayButton, 30, 65, 27, 27, "DiamondDay", Top.DIAMOND));
+		add(getTopButton(rhombusDayButton, 30, 65, 27, 27, "DiamondDay", Top.RHOMBUS));
 		add(getTopButton(triangleDayButton, 60, 65, 27, 27, "TriangleDay", Top.TRIANGLE));
 		add(getTopButton(triangleInvDayButton, 90, 65, 27, 27, "TriangleInvDay", Top.TRIANGLE_INV));
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 27372)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 27373)
@@ -712,5 +712,5 @@
 
 	public enum Top {
-		NOTOP, CAN, CONE, SPHERE, X_SHAPE, NORTH, SOUTH, EAST, WEST, SPHERES2, BOARD, DIAMOND, CIRCLE, TRIANGLE, TRIANGLE_INV, SQUARE
+		NOTOP, CAN, CONE, SPHERE, X_SHAPE, NORTH, SOUTH, EAST, WEST, SPHERES2, BOARD, RHOMBUS, CIRCLE, TRIANGLE, TRIANGLE_INV, SQUARE
 	}
 
@@ -727,5 +727,5 @@
 		TopSTR.put(Top.SPHERES2, "2 spheres");
 		TopSTR.put(Top.BOARD, "board");
-		TopSTR.put(Top.DIAMOND, "diamond");
+		TopSTR.put(Top.RHOMBUS, "rhombus");
 		TopSTR.put(Top.CIRCLE, "circle");
 		TopSTR.put(Top.TRIANGLE, "triangle, point up");
@@ -2002,6 +2002,6 @@
 				if (getLightAtt(Att.COL, i) != Col.UNKCOL) {
 					g2.setPaint(ColMAP.get(getLightAtt(Att.COL, i)));
-					Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.BEG, i));
-					Double da = 270 - Double.parseDouble((String) getLightAtt(Att.END, i)) - a0;
+					Double a0 = 270 - Double.parseDouble((String)getLightAtt(Att.BEG, i));
+					Double da = 270 - Double.parseDouble((String)getLightAtt(Att.END, i)) - a0;
 					da -= da > 0 ? 360 : 0;
 					g2.draw(new Arc2D.Double(12, 15, 140, 140, a0, da, Arc2D.OPEN));
@@ -2009,7 +2009,20 @@
 				if (getLightAtt(Att.ALT, i) != Col.UNKCOL) {
 					g2.setPaint(ColMAP.get(getLightAtt(Att.ALT, i)));
-					Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.BEG, i));
-					Double da = 270 - Double.parseDouble((String) getLightAtt(Att.END, i)) - a0;
+					Double a0 = 270 - Double.parseDouble((String)getLightAtt(Att.BEG, i));
+					Double da = 270 - Double.parseDouble((String)getLightAtt(Att.END, i)) - a0;
 					da -= da > 0 ? 360 : 0;
+					g2.draw(new Arc2D.Double(17, 20, 130, 130, a0, da, Arc2D.OPEN));
+				}
+	    } else if ((getLightAtt(Att.LIT, i) == Lit.DIR) && !((String)getLightAtt(Att.ORT, i)).isEmpty()) {
+				if (getLightAtt(Att.COL, i) != Col.UNKCOL) {
+					g2.setPaint(ColMAP.get(getLightAtt(Att.COL, i)));
+					Double a0 = 270 - Double.parseDouble((String)getLightAtt(Att.ORT, i)) + 2.0;
+					Double da = -4.0;
+					g2.draw(new Arc2D.Double(12, 15, 140, 140, a0, da, Arc2D.OPEN));
+				}
+				if (getLightAtt(Att.ALT, i) != Col.UNKCOL) {
+					g2.setPaint(ColMAP.get(getLightAtt(Att.ALT, i)));
+					Double a0 = 270 - Double.parseDouble((String)getLightAtt(Att.ORT, i)) + 2.0;
+					Double da = -4.0;
 					g2.draw(new Arc2D.Double(17, 20, 130, 130, a0, da, Arc2D.OPEN));
 				}
