Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java	(revision 27123)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java	(revision 27124)
@@ -81,4 +81,5 @@
 		public void actionPerformed(java.awt.event.ActionEvent e) {
 			dlg.mark.setLightAtt(Att.MLT, 0, multipleBox.getText());
+			dlg.mark.paintSign();
 		}
 	};
@@ -94,4 +95,6 @@
 			}
 			if (dlg.mark.getLightAtt(Att.LIT, 0) == Lit.DIR) {
+				dlg.mark.setLightAtt(Att.MLT, 0, "");
+				multipleBox.setText("");
 				orientationLabel.setVisible(true);
 				orientationBox.setVisible(true);
@@ -99,4 +102,6 @@
 				multipleBox.setVisible(false);
 			} else if ((dlg.mark.getLightAtt(Att.LIT, 0) == Lit.VERT) || (dlg.mark.getLightAtt(Att.LIT, 0) == Lit.HORIZ)) {
+				dlg.mark.setLightAtt(Att.ORT, 0, "");
+				orientationBox.setText("");
 				orientationLabel.setVisible(false);
 				orientationBox.setVisible(false);
@@ -104,4 +109,8 @@
 				multipleBox.setVisible(true);
 			} else {
+				dlg.mark.setLightAtt(Att.MLT, 0, "");
+				multipleBox.setText("");
+				dlg.mark.setLightAtt(Att.ORT, 0, "");
+				orientationBox.setText("");
 				orientationLabel.setVisible(false);
 				orientationBox.setVisible(false);
@@ -109,4 +118,5 @@
 				multipleBox.setVisible(false);
 			}
+			dlg.mark.paintSign();
 		}
 	};
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 27123)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 27124)
@@ -509,5 +509,5 @@
 
 	public enum Exh {
-		UNKNOWN, H24, DAY, NIGHT, FOG
+		UNKNOWN, H24, DAY, NIGHT, FOG, WARN, STORM
 	}
 
@@ -519,4 +519,6 @@
 		ExhSTR.put(Exh.NIGHT, "night");
 		ExhSTR.put(Exh.FOG, "fog");
+		ExhSTR.put(Exh.WARN, "warning");
+		ExhSTR.put(Exh.STORM, "storm");
 	}
 
@@ -1971,21 +1973,34 @@
 			switch ((Col) getLightAtt(Att.COL, 0)) {
 			case RED:
-				c += " R";
+				c += ".R";
 				break;
 			case GREEN:
-				c += " G";
+				c += ".G";
 				break;
 			case AMBER:
-				c += " Am";
+				c += ".Am";
 				break;
 			case ORANGE:
-				c += " Or";
+				c += ".Or";
 				break;
 			case BLUE:
-				c += " Bu";
+				c += ".Bu";
 				break;
 			case VIOLET:
-				c += " Vi";
-				break;
+				c += ".Vi";
+				break;
+			}
+			tmp = (String) getLightAtt(Att.MLT, 0);
+			if (!tmp.isEmpty())
+				c = tmp + c;
+			if (dlg.mark.getLightAtt(Att.LIT, 0) != Lit.UNKNOWN) {
+				switch ((Lit)dlg.mark.getLightAtt(Att.LIT, 0)) {
+				case VERT:
+					c += "(Vert)";
+					break;
+				case HORIZ:
+						c += "(Horiz)";
+						break;
+				}
 			}
 			tmp = (String) getLightAtt(Att.PER, 0);
