Index: /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23047)
@@ -170,4 +170,6 @@
 	public JTextField sM01StatusBar = null;
 
+	public boolean paintlock = false;
+	
 	public JMenuItem getSmpItem() {
 		return SmpItem;
@@ -504,25 +506,25 @@
 
 			lM01Icon = new JLabel();
-			lM01Icon.setBounds(new Rectangle(210, 30, 150, 200));
+			lM01Icon.setBounds(new Rectangle(210, 20, 150, 200));
 			lM01Icon.setIcon(null);
 			lM01Icon.setText(""); //$NON-NLS-1$
 
 			lM02Icon = new JLabel();
-			lM02Icon.setBounds(new Rectangle(210, 30, 150, 200));
+			lM02Icon.setBounds(new Rectangle(210, 20, 150, 200));
 			lM02Icon.setIcon(null);
 			lM02Icon.setText(""); //$NON-NLS-1$
 
 			lM03Icon = new JLabel();
-			lM03Icon.setBounds(new Rectangle(210, -40, 150, 200));
+			lM03Icon.setBounds(new Rectangle(210, -50, 150, 200));
 			lM03Icon.setIcon(null);
 			lM03Icon.setText(""); //$NON-NLS-1$
 
 			lM04Icon = new JLabel();
-			lM04Icon.setBounds(new Rectangle(210, 30, 150, 200));
+			lM04Icon.setBounds(new Rectangle(210, 20, 150, 200));
 			lM04Icon.setIcon(null);
 			lM04Icon.setText(""); //$NON-NLS-1$
 
 			lM01FireMark = new JLabel();
-			lM01FireMark.setBounds(new Rectangle(305, 90, 90, 20));
+			lM01FireMark.setBounds(new Rectangle(300, 85, 95, 20));
 			lM01FireMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			lM01FireMark.setText(""); //$NON-NLS-1$
@@ -759,4 +761,5 @@
 						return;
 
+					paintlock = true;
 					switch (type) {
 
@@ -835,4 +838,5 @@
 					buoy.refreshLights();
 					buoy.setLightColour();
+					paintlock = false;
 					buoy.paintSign();
 				}
@@ -1005,7 +1009,14 @@
 			cbM01Racon.setBounds(new Rectangle(240, 195, 80, 20));
 			cbM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
+			cbM01Racon.removeAllItems();
+			cbM01Racon.addItem("Not Set");
+			cbM01Racon.addItem("Racon");
+			cbM01Racon.addItem("Ramark");
+			cbM01Racon.addItem("Leading");
 			cbM01Racon.addActionListener(new ActionListener() {
 				public void actionPerformed(ActionEvent e) {
 					int rac = cbM01Racon.getSelectedIndex();
+					buoy.setRatyp(rac);
+					buoy.paintSign();
 				}
 			});
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java	(revision 23047)
@@ -106,4 +106,13 @@
 	public final static int SPEC_BEACON = 6;
 	public final static int SPEC_TOWER = 7;
+	
+	/**
+	 * Radar Beacons - correspond to Ratyp
+	 */
+	
+	public final static int UNKNOWN_RATYP = 0;
+	public final static int RATYP_RACON = 0;
+	public final static int RATYP_RAMARK = 0;
+	public final static int RATYP_LEADING = 0;
 
 	/**
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23047)
@@ -55,6 +55,4 @@
 	public void setRegion(boolean region) {
 		Region = region;
-		dlg.rbM01RegionA.setSelected(!region);
-		dlg.rbM01RegionB.setSelected(region);
 	}
 
@@ -79,4 +77,14 @@
 	}
 
+	private int Ratyp = 0;
+	
+	public int getRatyp() {
+		return Ratyp;
+	}
+	
+	public void setRatyp(int typ) {
+		Ratyp = typ;
+	}
+	
 	private boolean Fog = false;
 
@@ -246,4 +254,5 @@
 	public void paintSign() {
 
+		if (dlg.paintlock) return;
 		dlg.lM01Icon.setIcon(null);
 		dlg.lM02Icon.setIcon(null);
@@ -251,4 +260,7 @@
 		dlg.lM04Icon.setIcon(null);
 		
+		dlg.rbM01RegionA.setSelected(!getRegion());
+		dlg.rbM01RegionB.setSelected(getRegion());
+
 		dlg.cM01TopMark.setSelected(hasTopMark());
 		dlg.cM01Fired.setSelected(isFired());
@@ -394,6 +406,6 @@
 		dlg.cM01Racon.setSelected(false);
 		dlg.cM01Racon.setVisible(false);
-		dlg.cbM01Racon.removeAllItems();
 		dlg.cbM01Racon.setVisible(false);
+		setRatyp(0);
 		dlg.tfM01Racon.setText("");
 		dlg.tfM01Racon.setVisible(false);
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java	(revision 23047)
@@ -188,4 +188,5 @@
 
 	public void paintSign() {
+		if (dlg.paintlock) return;
 		super.paintSign();
 
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java	(revision 23047)
@@ -40,7 +40,7 @@
 		dlg.cbM01Kennung.addItem("Fl(2)");
 
+		setBuoyIndex(ISOLATED_DANGER);
 		setColour(SeaMark.BLACK_RED_BLACK);
 		setLightColour("W");
-		setBuoyIndex(ISOLATED_DANGER);
 		setTopMark(true);
 		setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
@@ -104,4 +104,5 @@
 
 	public void paintSign() {
+		if (dlg.paintlock) return;
 		super.paintSign();
 
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23047)
@@ -345,4 +345,5 @@
 
 	public void paintSign() {
+		if (dlg.paintlock) return;
 		super.paintSign();
 
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java	(revision 23047)
@@ -47,4 +47,5 @@
 
 	public void paintSign() {
+		if (dlg.paintlock) return;
 		super.paintSign();
 
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java	(revision 23047)
@@ -43,7 +43,7 @@
 		dlg.cbM01Kennung.addItem("Mo()");
 
+		setBuoyIndex(SAFE_WATER);
 		setColour(SeaMark.RED_WHITE);
 		setLightColour("W");
-		setBuoyIndex(SAFE_WATER);
 		setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
 
@@ -103,4 +103,5 @@
 
 	public void paintSign() {
+		if (dlg.paintlock) return;
 		super.paintSign();
 
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java	(revision 23047)
@@ -41,10 +41,7 @@
 		dlg.cbM01Kennung.addItem("Not set");
 		dlg.cbM01Kennung.addItem("Fl");
-		dlg.cbM01Kennung.addItem("Fl(2)");
-		dlg.cbM01Kennung.addItem("Fl(3)");
-		dlg.cbM01Kennung.addItem("Fl(4)");
-		dlg.cbM01Kennung.addItem("Fl(5)");
-		dlg.cbM01Kennung.addItem("Oc(2)");
-		dlg.cbM01Kennung.addItem("Oc(3)");
+		dlg.cbM01Kennung.addItem("Fl()");
+		dlg.cbM01Kennung.addItem("Oc");
+		dlg.cbM01Kennung.addItem("Oc()");
 		dlg.cbM01Kennung.addItem("Q");
 		dlg.cbM01Kennung.addItem("IQ");
@@ -53,7 +50,7 @@
 		dlg.cM01TopMark.setEnabled(true);
 
+		setBuoyIndex(SPECIAL_PURPOSE);
 		setColour(SeaMark.YELLOW);
 		setLightColour("W");
-		setBuoyIndex(SPECIAL_PURPOSE);
 		setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
 
@@ -140,4 +137,5 @@
 
 	public void paintSign() {
+		if (dlg.paintlock) return;
 		super.paintSign();
 
@@ -210,4 +208,5 @@
 	}
 
+
 	public void saveSign() {
 		Node node = getNode();
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java	(revision 23046)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java	(revision 23047)
@@ -22,4 +22,5 @@
 
 	public void paintSign() {
+		if (dlg.paintlock) return;
 		super.paintSign();
 
