Index: /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23161)
+++ /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23162)
@@ -1130,20 +1130,19 @@
 					if (it == null)
 						return;
-					if (it.compareTo(Messages.getString("SmpDialogAction.212")) == 0) //$NON-NLS-1$
+					if (it.equals(Messages.getString("SmpDialogAction.212"))) //$NON-NLS-1$
 						return;
 					if (buoy == null)
 						return;
 
-					if (it.contains("+")) { //$NON-NLS-1$
-						i1 = it.indexOf("+"); //$NON-NLS-1$
-						i2 = it.length();
-						if (c.isEmpty()) //$NON-NLS-1$
-							c = it;
-						else
-							c = c + it.substring(i1, i2);
+					if (it.contains("(")) {
+						i1 = it.indexOf("(");
+						i2 = it.indexOf(")");
+						c = it.substring(i1+1, i2);
+						it = it.substring(0, i1) + it.substring(i2+1);
 					}
-					if (c.isEmpty()) //$NON-NLS-1$
-						c = it;
-					buoy.setLightChar(c);
+System.out.println(it + " " + c);
+					if (!c.isEmpty())
+						buoy.setLightGroup(c);;
+					buoy.setLightChar(it);
 					buoy.paintSign();
 				}
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23161)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 23162)
@@ -520,6 +520,5 @@
 				}
 
-				c = LightChar[0];
-
+				c = getLightChar();
 				if (c.contains("+")) {
 					i1 = c.indexOf("+");
@@ -527,16 +526,14 @@
 					c = c.substring(0, i1);
 				}
-
-				if (!LightGroup[0].isEmpty())
-					c = c + "(" + LightGroup[0] + ")";
+				if (!getLightGroup().isEmpty())
+					c = c + "(" + getLightGroup() + ")";
 				if (tmp != null)
 					c = c + tmp;
-
-				c = c + " " + LightColour[0];
-				lp = LightPeriod[0];
+				dlg.cbM01Kennung.setSelectedItem(c);
+				c = c + " " + getLightColour();
+				lp = getLightPeriod();
 				if (!lp.isEmpty())
 					c = c + " " + lp + "s";
 				dlg.lM01FireMark.setText(c);
-
 				dlg.cM01Fired.setVisible(true);
 				dlg.lM01Kennung.setVisible(true);
@@ -614,4 +611,24 @@
 			} else {
 				dlg.lM01FireMark.setText("");
+				dlg.rbM01Fired1.setVisible(false);
+				dlg.rbM01FiredN.setVisible(false);
+				dlg.cbM01Kennung.setVisible(false);
+				dlg.lM01Kennung.setVisible(false);
+				dlg.tfM01Height.setVisible(false);
+				dlg.lM01Height.setVisible(false);
+				dlg.tfM01Range.setVisible(false);
+				dlg.lM01Range.setVisible(false);
+				dlg.cbM01Colour.setVisible(false);
+				dlg.lM01Colour.setVisible(false);
+				dlg.cbM01Sector.setVisible(false);
+				dlg.lM01Sector.setVisible(false);
+				dlg.tfM01Group.setVisible(false);
+				dlg.lM01Group.setVisible(false);
+				dlg.tfM01RepeatTime.setVisible(false);
+				dlg.lM01RepeatTime.setVisible(false);
+				dlg.tfM01Bearing.setVisible(false);
+				dlg.lM01Bearing.setVisible(false);
+				dlg.tfM02Bearing.setVisible(false);
+				dlg.tfM01Radius.setVisible(false);
 			}
 		} else {
