Index: /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23371)
+++ /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 23372)
@@ -644,5 +644,5 @@
 
 			lM01Kennung = new JLabel();
-			lM01Kennung.setBounds(new Rectangle(240, 245, 60, 20));
+			lM01Kennung.setBounds(new Rectangle(235, 245, 70, 20));
 			lM01Kennung.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			lM01Kennung.setText(Messages.getString("SmpDialogAction.119")); //$NON-NLS-1$
@@ -810,5 +810,5 @@
 			cbM01TypeOfMark.addItem(Messages.getString("SmpDialogAction.148")); //$NON-NLS-1$
 
-			cbM01TypeOfMark.setBounds(new Rectangle(45, 25, 165, 25));
+			cbM01TypeOfMark.setBounds(new Rectangle(50, 25, 170, 25));
 			// cbM01TypeOfMark.setEditable(false);
 			cbM01TypeOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
@@ -895,5 +895,5 @@
 		if (cbM01CatOfMark == null) {
 			cbM01CatOfMark = new JComboBox();
-			cbM01CatOfMark.setBounds(new Rectangle(60, 55, 150, 25));
+			cbM01CatOfMark.setBounds(new Rectangle(65, 55, 155, 25));
 			cbM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cbM01CatOfMark.setEnabled(true);
@@ -917,5 +917,5 @@
 		if (cbM01StyleOfMark == null) {
 			cbM01StyleOfMark = new JComboBox();
-			cbM01StyleOfMark.setBounds(new Rectangle(45, 85, 165, 25));
+			cbM01StyleOfMark.setBounds(new Rectangle(50, 85, 170, 25));
 			cbM01StyleOfMark.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cbM01StyleOfMark.addActionListener(new ActionListener() {
@@ -1092,5 +1092,5 @@
 		if (cbM01Fog == null) {
 			cbM01Fog = new JComboBox();
-			cbM01Fog.setBounds(new Rectangle(100, 220, 70, 20));
+			cbM01Fog.setBounds(new Rectangle(100, 220, 75, 20));
 			cbM01Fog.setFont(new Font("Dialog", Font.PLAIN, 12)); //$NON-NLS-1$
 			cbM01Fog.removeAllItems();
@@ -1174,5 +1174,5 @@
 		if (cbM01Kennung == null) {
 			cbM01Kennung = new JComboBox();
-			cbM01Kennung.setBounds(new Rectangle(305, 245, 70, 20));
+			cbM01Kennung.setBounds(new Rectangle(300, 245, 75, 20));
 			cbM01Kennung.addActionListener(new ActionListener() {
 				public void actionPerformed(ActionEvent e) {
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23371)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java	(revision 23372)
@@ -66,13 +66,8 @@
 		String top = ""; //$NON-NLS-1$
 
-		if (getStyleIndex() != LAT_PERCH) {
-			if (keys.containsKey("seamark:topmark:shape")) { //$NON-NLS-1$
-				top = keys.get("seamark:topmark:shape"); //$NON-NLS-1$
-				setTopMark(true);
-			}
-			if (keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$
-				setTopMark(true);
-			}
-		}
+		if (keys.containsKey("seamark:buoy_lateral:category")) //$NON-NLS-1$
+			cat = keys.get("seamark:buoy_lateral:category"); //$NON-NLS-1$
+		else if (keys.containsKey("seamark:beacon_lateral:category")) //$NON-NLS-1$
+			cat = keys.get("seamark:beacon_lateral:category"); //$NON-NLS-1$
 
 		if (keys.containsKey("seamark:buoy_lateral:colour")) //$NON-NLS-1$
@@ -83,8 +78,19 @@
 			col = keys.get("seamark:light_float:colour"); //$NON-NLS-1$
 
-		if (keys.containsKey("seamark:buoy_lateral:category")) //$NON-NLS-1$
-			cat = keys.get("seamark:buoy_lateral:category"); //$NON-NLS-1$
-		else if (keys.containsKey("seamark:beacon_lateral:category")) //$NON-NLS-1$
-			cat = keys.get("seamark:beacon_lateral:category"); //$NON-NLS-1$
+		if (getStyleIndex() != LAT_PERCH) {
+			if (keys.containsKey("seamark:topmark:shape")) { //$NON-NLS-1$
+				top = keys.get("seamark:topmark:shape"); //$NON-NLS-1$
+				setTopMark(true);
+			}
+			if (keys.containsKey("seamark:topmark:colour")) { //$NON-NLS-1$
+				if (col.isEmpty()) col = keys.get("seamark:topmark:colour");
+				setTopMark(true);
+			}
+		}
+		
+		if (col.isEmpty()) {
+			if (keys.containsKey("seamark:light:colour")) //$NON-NLS-1$
+				col = keys.get("seamark:light:colour"); //$NON-NLS-1$
+		}
 
 		if (cat.isEmpty()) { //$NON-NLS-1$
