Index: applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
===================================================================
--- applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23028)
+++ applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23034)
@@ -203,8 +203,10 @@
 
 	public SmpDialogAction() {
-		super(Messages.getString("SmpDialogAction.4"), "Smp",Messages.getString("SmpDialogAction.0"), Shortcut //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				.registerShortcut("tools:Semarks", //$NON-NLS-1$
-						tr("Tool: {0}", Messages.getString("SmpDialogAction.9")), KeyEvent.VK_S, //$NON-NLS-1$ //$NON-NLS-2$
-						Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true);
+		super(
+				Messages.getString("SmpDialogAction.4"), "Smp", Messages.getString("SmpDialogAction.0"), Shortcut //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+						.registerShortcut(
+								"tools:Semarks", //$NON-NLS-1$
+								tr("Tool: {0}", Messages.getString("SmpDialogAction.9")), KeyEvent.VK_S, //$NON-NLS-1$ //$NON-NLS-2$
+								Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true);
 
 		dia = this;
@@ -620,6 +622,7 @@
 			lM01Bearing.setText(Messages.getString("SmpDialogAction.133")); //$NON-NLS-1$
 
-			rbM01RegionA = new JRadioButton(Messages.getString("SmpDialogAction.134"), Main.pref.get("tomsplugin.IALA") //$NON-NLS-1$ //$NON-NLS-2$
-					.equals("A")); //$NON-NLS-1$
+			rbM01RegionA = new JRadioButton(
+					Messages.getString("SmpDialogAction.134"), Main.pref.get("tomsplugin.IALA") //$NON-NLS-1$ //$NON-NLS-2$
+							.equals("A")); //$NON-NLS-1$
 			rbM01RegionA.setBounds(new Rectangle(305, 0, 50, 30));
 			rbM01RegionB = new JRadioButton("-B", Main.pref.get("tomsplugin.IALA") //$NON-NLS-1$ //$NON-NLS-2$
@@ -642,7 +645,9 @@
 			rbM01RegionB.addActionListener(alM01Region);
 
-			rbM01Fired1 = new JRadioButton(Messages.getString("SmpDialogAction.140"), true); //$NON-NLS-1$
+			rbM01Fired1 = new JRadioButton(
+					Messages.getString("SmpDialogAction.140"), true); //$NON-NLS-1$
 			rbM01Fired1.setBounds(new Rectangle(85, 240, 70, 30));
-			rbM01FiredN = new JRadioButton(Messages.getString("SmpDialogAction.141"), false); //$NON-NLS-1$
+			rbM01FiredN = new JRadioButton(
+					Messages.getString("SmpDialogAction.141"), false); //$NON-NLS-1$
 			rbM01FiredN.setBounds(new Rectangle(155, 240, 80, 30));
 			bgM01Fired = new ButtonGroup();
@@ -737,5 +742,5 @@
 
 			cbM01TypeOfMark.setBounds(new Rectangle(45, 25, 165, 25));
-//			cbM01TypeOfMark.setEditable(false);
+			// cbM01TypeOfMark.setEditable(false);
 			cbM01TypeOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cbM01TypeOfMark.setEnabled(true);
@@ -843,5 +848,5 @@
 			cbM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cbM01CatOfMark.setEnabled(true);
-			
+
 			cbM01CatOfMark.addActionListener(new ActionListener() {
 				public void actionPerformed(ActionEvent e) {
@@ -958,5 +963,11 @@
 			cM01Radar.addActionListener(new ActionListener() {
 				public void actionPerformed(ActionEvent e) {
-					buoy.setRadar(cM01Radar.isSelected());
+					if (cM01Radar.isSelected()) {
+						buoy.setRadar(true);
+						buoy.setRacon(false);
+						cM01Racon.setSelected(false);
+					} else {
+						buoy.setRadar(false);
+					}
 					buoy.paintSign();
 				}
@@ -972,4 +983,16 @@
 			cM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cM01Racon.setText(Messages.getString("SmpDialogAction.171")); //$NON-NLS-1$
+			cM01Racon.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					if (cM01Racon.isSelected()) {
+						buoy.setRacon(true);
+						buoy.setRadar(false);
+						cM01Radar.setSelected(false);
+					} else {
+						buoy.setRacon(false);
+					}
+					buoy.paintSign();
+				}
+			});
 		}
 		return cM01Racon;
@@ -1355,5 +1378,6 @@
 						}
 					} else {
-						cM01IconVisible.setIcon(new ImageIcon(getClass().getResource("/images/Auge.png"))); //$NON-NLS-1$
+						cM01IconVisible.setIcon(new ImageIcon(getClass().getResource(
+								"/images/Auge.png"))); //$NON-NLS-1$
 						PicRebuild();
 						obuoy = null;
Index: applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java
===================================================================
--- applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23028)
+++ applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23034)
@@ -67,4 +67,14 @@
 	public void setRadar(boolean radar) {
 		Radar = radar;
+	}
+
+	private boolean Racon = false;
+
+	public boolean hasRacon() {
+		return Racon;
+	}
+
+	public void setRacon(boolean racon) {
+		Racon = racon;
 	}
 
@@ -379,4 +389,5 @@
 		dlg.tfM01Racon.setVisible(false);
 		dlg.lM01Racon.setVisible(false);
+		setRacon(false);
 		dlg.cM01Fog.setSelected(false);
 		dlg.cM01Fog.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 23028)
+++ applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java	(revision 23034)
@@ -203,4 +203,13 @@
 		dlg.cM01Radar.setEnabled(true);
 		dlg.cM01Radar.setVisible(true);
+		dlg.cM01Racon.setEnabled(true);
+		dlg.cM01Racon.setVisible(true);
+		if (hasRacon()) {
+			dlg.cbM01Racon.setEnabled(true);
+			dlg.cbM01Racon.setVisible(true);
+			dlg.lM04Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Station.png")));
+		} else {
+			dlg.cbM01Racon.setVisible(false);
+		}
 		dlg.cM01Fired.setEnabled(true);
 		dlg.cM01Fired.setVisible(true);
Index: applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java
===================================================================
--- applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java	(revision 23028)
+++ applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java	(revision 23034)
@@ -149,4 +149,13 @@
 				dlg.lM03Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Reflector.png")));
 			}
+			dlg.cM01Racon.setEnabled(true);
+			dlg.cM01Racon.setVisible(true);
+			if (hasRacon()) {
+				dlg.cbM01Racon.setEnabled(true);
+				dlg.cbM01Racon.setVisible(true);
+				dlg.lM04Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Station.png")));
+			} else {
+				dlg.cbM01Racon.setVisible(false);
+			}
 			
 			if (isFired()) {
Index: applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java
===================================================================
--- applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23028)
+++ applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23034)
@@ -358,4 +358,13 @@
 		dlg.cM01Radar.setEnabled(true);
 		dlg.cM01Radar.setVisible(true);
+		dlg.cM01Racon.setEnabled(true);
+		dlg.cM01Racon.setVisible(true);
+		if (hasRacon()) {
+			dlg.cbM01Racon.setEnabled(true);
+			dlg.cbM01Racon.setVisible(true);
+			dlg.lM04Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Station.png")));
+		} else {
+			dlg.cbM01Racon.setVisible(false);
+		}
 		dlg.cM01Fired.setEnabled(true);
 
Index: applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java
===================================================================
--- applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java	(revision 23028)
+++ applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java	(revision 23034)
@@ -149,4 +149,13 @@
 				dlg.lM03Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Reflector.png")));
 			}
+			dlg.cM01Racon.setEnabled(true);
+			dlg.cM01Racon.setVisible(true);
+			if (hasRacon()) {
+				dlg.cbM01Racon.setEnabled(true);
+				dlg.cbM01Racon.setVisible(true);
+				dlg.lM04Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Station.png")));
+			} else {
+				dlg.cbM01Racon.setVisible(false);
+			}
 			
 			if (isFired()) {
Index: applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java
===================================================================
--- applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java	(revision 23028)
+++ applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java	(revision 23034)
@@ -193,4 +193,13 @@
 				dlg.lM03Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Reflector.png")));
 			}
+			dlg.cM01Racon.setEnabled(true);
+			dlg.cM01Racon.setVisible(true);
+			if (hasRacon()) {
+				dlg.cbM01Racon.setEnabled(true);
+				dlg.cbM01Racon.setVisible(true);
+				dlg.lM04Icon.setIcon(new ImageIcon(getClass().getResource("/images/Radar_Station.png")));
+			} else {
+				dlg.cbM01Racon.setVisible(false);
+			}
 			
 			if (isFired()) {
