Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java	(revision 27054)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java	(revision 27055)
@@ -30,5 +30,4 @@
 		}
 	};
-
 	public JComboBox warningCatBox;
 	public EnumMap<Cat, Integer> warningCats = new EnumMap<Cat, Integer>(Cat.class);
@@ -42,5 +41,4 @@
 		}
 	};
-
 	private ButtonGroup objButtons = new ButtonGroup();
 	public JRadioButton houseButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LighthouseButton.png")));
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 27054)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java	(revision 27055)
@@ -22,4 +22,5 @@
 		public void actionPerformed(java.awt.event.ActionEvent e) {
 			dlg.mark.setLightAtt(Att.GRP, 0, groupBox.getText());
+			dlg.mark.paintSign();
 		}
 	};
@@ -29,4 +30,5 @@
 		public void actionPerformed(java.awt.event.ActionEvent e) {
 			dlg.mark.setLightAtt(Att.PER, 0, periodBox.getText());
+			dlg.mark.paintSign();
 		}
 	};
@@ -36,4 +38,5 @@
 		public void actionPerformed(java.awt.event.ActionEvent e) {
 			dlg.mark.setLightAtt(Att.SEQ, 0, sequenceBox.getText());
+			dlg.mark.paintSign();
 		}
 	};
@@ -55,4 +58,5 @@
 		public void actionPerformed(java.awt.event.ActionEvent e) {
 			dlg.mark.setLightAtt(Att.HGT, 0, heightBox.getText());
+			dlg.mark.paintSign();
 		}
 	};
@@ -62,4 +66,5 @@
 		public void actionPerformed(java.awt.event.ActionEvent e) {
 			dlg.mark.setLightAtt(Att.RNG, 0, rangeBox.getText());
+			dlg.mark.paintSign();
 		}
 	};
Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 27054)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 27055)
@@ -84,6 +84,4 @@
 	private ActionListener alType = new ActionListener() {
 		public void actionPerformed(java.awt.event.ActionEvent e) {
-			if (dlg.node == null)
-				typeButtons.clearSelection();
 			if (chanButton.isSelected()) {
 				chanButton.setBorderPainted(true);
@@ -131,7 +129,4 @@
 	private ActionListener alMisc = new ActionListener() {
 		public void actionPerformed(java.awt.event.ActionEvent e) {
-			if (dlg.mark == null) {
-				miscButtons.clearSelection();
-			}
 			if (topButton.isSelected()) {
 				moreButton.setText("v v v");
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 27054)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 27055)
@@ -17,34 +17,4 @@
 	public SeaMark(OSeaMAction dia) {
 		dlg = dia;
-	}
-
-	public void clearSign() {
-		setObject(Obj.UNKNOWN);
-		setCategory(Cat.NONE);
-		setShape(Shp.UNKNOWN);
-		setColour(Ent.BODY, Col.UNKNOWN);
-		setPattern(Ent.BODY, Pat.NONE);
-		setColour(Ent.TOPMARK, Col.UNKNOWN);
-		setPattern(Ent.TOPMARK, Pat.NONE);
-		dlg.panelMain.moreButton.setVisible(false);
-		dlg.panelMain.saveButton.setEnabled(false);
-		dlg.panelMain.topButton.setEnabled(false);
-		dlg.panelMain.fogButton.setEnabled(false);
-		dlg.panelMain.radButton.setEnabled(false);
-		dlg.panelMain.litButton.setEnabled(false);
-		dlg.panelMain.panelMore.syncPanel();
-		dlg.panelMain.panelMore.setVisible(false);
-		paintSign();
-	}
-	
-	public String validDecimal(String str) {
-		str = str.trim().replace(',', '.');
-		if ((!str.isEmpty()) && (!str.matches("^[+-]??\\d+(\\.\\d+)??$"))) {
-			dlg.manager.showVisualMessage("Not a valid decimal string");
-			return "";
-		} else {
-			dlg.manager.showVisualMessage("");
-			return str;
-		}
 	}
 
@@ -1022,6 +992,5 @@
 			dlg.panelMain.saveButton.setEnabled(true);
 			Ent ent = EntMAP.get(getObject());
-			if ((ent == Ent.BUOY) || (ent == Ent.BEACON) || (ent == Ent.FLOAT))
-				dlg.panelMain.topButton.setEnabled(true);
+			dlg.panelMain.topButton.setEnabled((ent == Ent.BUOY) || (ent == Ent.BEACON) || (ent == Ent.FLOAT));
 			dlg.panelMain.fogButton.setEnabled(true);
 			dlg.panelMain.radButton.setEnabled(true);
@@ -1036,4 +1005,34 @@
 			dlg.manager.showVisualMessage("Seamark not recognised");
 			return false;
+		}
+	}
+
+	public void clearSign() {
+		setObject(Obj.UNKNOWN);
+		setCategory(Cat.NONE);
+		setShape(Shp.UNKNOWN);
+		setColour(Ent.BODY, Col.UNKNOWN);
+		setPattern(Ent.BODY, Pat.NONE);
+		setColour(Ent.TOPMARK, Col.UNKNOWN);
+		setPattern(Ent.TOPMARK, Pat.NONE);
+		dlg.panelMain.moreButton.setVisible(false);
+		dlg.panelMain.saveButton.setEnabled(false);
+		dlg.panelMain.topButton.setEnabled(false);
+		dlg.panelMain.fogButton.setEnabled(false);
+		dlg.panelMain.radButton.setEnabled(false);
+		dlg.panelMain.litButton.setEnabled(false);
+		dlg.panelMain.panelMore.syncPanel();
+		dlg.panelMain.panelMore.setVisible(false);
+		paintSign();
+	}
+	
+	public String validDecimal(String str) {
+		str = str.trim().replace(',', '.');
+		if ((!str.isEmpty()) && (!str.matches("^[+-]??\\d+(\\.\\d+)??$"))) {
+			dlg.manager.showVisualMessage("Not a valid decimal string");
+			return "";
+		} else {
+			dlg.manager.showVisualMessage("");
+			return str;
 		}
 	}
