Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java	(revision 26968)
@@ -59,5 +59,8 @@
 								if (stackCol.size() != 0)
 									stackIdx++;
-								dlg.mark.addColour(ent, stackIdx, col);
+								if (stackIdx == 0)
+									dlg.mark.setColour(ent, col);
+								else
+									dlg.mark.addColour(ent, stackIdx, col);
 								stackCol.add(stackIdx, new JRadioButton(new ImageIcon(getClass().getResource("/images/ColourButton.png"))));
 								JRadioButton btnI = stackCol.get(stackIdx);
@@ -73,5 +76,5 @@
 								JRadioButton btnI = stackCol.get(i);
 								btnI.setBounds(2, (2 + (i * height)), 30, height);
-								btnI.setBackground(dlg.mark.ColMAP.get(dlg.mark.getColour(ent, i)));
+								btnI.setBackground(oseam.seamarks.SeaMark.ColMAP.get(dlg.mark.getColour(ent, i)));
 								if (stackIdx == i) {
 									btnI.setBorderPainted(true);
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java	(revision 26968)
@@ -123,9 +123,16 @@
 					topmarkButton.setVisible(true);
 					dlg.panelMain.moreButton.setVisible(true);
+					dlg.panelMain.topButton.setEnabled(true);
+					dlg.panelMain.fogButton.setEnabled(true);
+					dlg.panelMain.radButton.setEnabled(true);
+					dlg.panelMain.litButton.setEnabled(true);
 				} else {
 					topmarkButton.setVisible(false);
 					dlg.panelMain.moreButton.setVisible(false);
-				}
-				dlg.mark.paintSign();
+					dlg.panelMain.topButton.setEnabled(false);
+					dlg.panelMain.fogButton.setEnabled(false);
+					dlg.panelMain.radButton.setEnabled(false);
+					dlg.panelMain.litButton.setEnabled(false);
+				}
 			}
 		}
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 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java	(revision 26968)
@@ -150,5 +150,4 @@
 				dlg.panelMain.moreButton.setVisible(false);
 			}
-			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 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java	(revision 26968)
@@ -282,8 +282,9 @@
 
 	public void clearSelections() {
-		panelMore.clearSelections();
+//		panelMore.clearSelections();
+		panelMore.setVisible(false);
+		moreButton.setVisible(false);
 		typeButtons.clearSelection();
 		alType.actionPerformed(null);
-		moreButton.setVisible(false);
 		nameBox.setText("");
 		alName.actionPerformed(null);
@@ -298,12 +299,12 @@
 		miscButtons.clearSelection();
 		alMisc.actionPerformed(null);
-		panelChan.clearSelections();
-		panelHaz.clearSelections();
-		panelSpec.clearSelections();
-		panelLights.clearSelections();
-		panelTop.clearSelections();
-		panelFog.clearSelections();
-		panelRadar.clearSelections();
-		panelLit.clearSelections();
+//		panelChan.clearSelections();
+//		panelHaz.clearSelections();
+//		panelSpec.clearSelections();
+//		panelLights.clearSelections();
+//		panelTop.clearSelections();
+//		panelFog.clearSelections();
+//		panelRadar.clearSelections();
+//		panelLit.clearSelections();
 		shapeIcon.setIcon(null);
 		lightIcon.setIcon(null);
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMore.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMore.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMore.java	(revision 26968)
@@ -186,5 +186,4 @@
 				regionCButton.setBorderPainted(false);
 			}
-			dlg.mark.paintSign();
 		}
 	};
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPat.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPat.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPat.java	(revision 26968)
@@ -52,5 +52,4 @@
 					break;
 				}
-				dlg.mark.paintSign();
 			}
 		}
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java	(revision 26968)
@@ -104,5 +104,4 @@
 					dlg.panelMain.litButton.setEnabled(false);
 				}
-				dlg.mark.paintSign();
 			}
 		}
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java	(revision 26968)
@@ -52,5 +52,4 @@
 					dlg.panelMain.litButton.setEnabled(false);
 				}
-				dlg.mark.paintSign();
 			}
 		}
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java	(revision 26968)
@@ -119,5 +119,4 @@
 				dlg.panelMain.moreButton.setVisible(false);
 			}
-			dlg.mark.paintSign();
 		}
 	}
Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java	(revision 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java	(revision 26968)
@@ -104,5 +104,4 @@
 					dlg.panelMain.litButton.setEnabled(false);
 				}
-				dlg.mark.paintSign();
 			}
 		}
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 26966)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 26968)
@@ -18,5 +18,4 @@
 	public SeaMark(OSeaMAction dia) {
 		dlg = dia;
-		dlg.panelMain.clearSelections();
 	}
 
@@ -405,11 +404,14 @@
 		case BEACON:
 		case FLOAT:
-			bodyColour.remove(i);
+			if (bodyColour.size() > i)
+				bodyColour.remove(i);
 			break;
 		case TOPMARK:
-			topColour.remove(i);
+			if (topColour.size() > i)
+				topColour.remove(i);
 			break;
 		case LIGHT:
-			lightColour.remove(i);
+			if (lightColour.size() > i)
+				lightColour.remove(i);
 			break;
 		}
@@ -887,7 +889,4 @@
 
 		switch (GrpMAP.get(getObject())) {
-		case NUL:
-			dlg.panelMain.clearSelections();
-			break;
 		case LAT:
 			dlg.panelMain.chanButton.doClick();
