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 26950)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java	(revision 26951)
@@ -24,63 +24,69 @@
 		public void actionPerformed(java.awt.event.ActionEvent e) {
 			Shp shp = Shp.UNKNOWN;
-			if (dlg.mark != null)
+			if (dlg.mark != null) {
 				shp = dlg.mark.getShape();
-			if (northButton.isSelected()) {
-				dlg.mark.setCategory(Cat.CAM_NORTH);
-				dlg.mark.setColour(Ent.BODY, Col.BLACK);
-				dlg.mark.addColour(Ent.BODY, Col.YELLOW);
-				dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
-				if (shapes.containsKey(shp))
-					shapes.get(shp).doClick();
-				northButton.setBorderPainted(true);
-			} else {
-				northButton.setBorderPainted(false);
-			}
-			if (southButton.isSelected()) {
-				dlg.mark.setCategory(Cat.CAM_SOUTH);
-				dlg.mark.setColour(Ent.BODY, Col.YELLOW);
-				dlg.mark.addColour(Ent.BODY, Col.BLACK);
-				dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
-				if (shapes.containsKey(shp))
-					shapes.get(shp).doClick();
-				southButton.setBorderPainted(true);
-			} else {
-				southButton.setBorderPainted(false);
-			}
-			if (eastButton.isSelected()) {
-				dlg.mark.setCategory(Cat.CAM_EAST);
-				dlg.mark.setColour(Ent.BODY, Col.BLACK);
-				dlg.mark.addColour(Ent.BODY, Col.YELLOW);
-				dlg.mark.addColour(Ent.BODY, Col.BLACK);
-				dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
-				if (shapes.containsKey(shp))
-					shapes.get(shp).doClick();
-				eastButton.setBorderPainted(true);
-			} else {
-				eastButton.setBorderPainted(false);
-			}
-			if (westButton.isSelected()) {
-				dlg.mark.setCategory(Cat.CAM_WEST);
-				dlg.mark.setColour(Ent.BODY, Col.YELLOW);
-				dlg.mark.addColour(Ent.BODY, Col.BLACK);
-				dlg.mark.addColour(Ent.BODY, Col.YELLOW);
-				dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
-				if (shapes.containsKey(shp))
-					shapes.get(shp).doClick();
-				westButton.setBorderPainted(true);
-			} else {
-				westButton.setBorderPainted(false);
-			}
-			if (isolButton.isSelected()) {
-				dlg.mark.setCategory(Cat.UNKNOWN);
-				dlg.mark.setColour(Ent.BODY, Col.BLACK);
-				dlg.mark.addColour(Ent.BODY, Col.RED);
-				dlg.mark.addColour(Ent.BODY, Col.BLACK);
-				dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
-				if (shapes.containsKey(shp))
-					shapes.get(shp).doClick();
-				isolButton.setBorderPainted(true);
-			} else {
-				isolButton.setBorderPainted(false);
+				dlg.panelMain.panelMore.panelPat.clearSelections();
+				dlg.panelMain.panelMore.panelPat.horizButton.doClick();
+				if (northButton.isSelected()) {
+					dlg.mark.setCategory(Cat.CAM_NORTH);
+					dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
+					if (shapes.containsKey(shp))
+						shapes.get(shp).doClick();
+					northButton.setBorderPainted(true);
+				} else {
+					northButton.setBorderPainted(false);
+				}
+				if (southButton.isSelected()) {
+					dlg.mark.setCategory(Cat.CAM_SOUTH);
+					dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
+					if (shapes.containsKey(shp))
+						shapes.get(shp).doClick();
+					southButton.setBorderPainted(true);
+				} else {
+					southButton.setBorderPainted(false);
+				}
+				if (eastButton.isSelected()) {
+					dlg.mark.setCategory(Cat.CAM_EAST);
+					dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
+					if (shapes.containsKey(shp))
+						shapes.get(shp).doClick();
+					eastButton.setBorderPainted(true);
+				} else {
+					eastButton.setBorderPainted(false);
+				}
+				if (westButton.isSelected()) {
+					dlg.mark.setCategory(Cat.CAM_WEST);
+					dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
+					if (shapes.containsKey(shp))
+						shapes.get(shp).doClick();
+					westButton.setBorderPainted(true);
+				} else {
+					westButton.setBorderPainted(false);
+				}
+				if (isolButton.isSelected()) {
+					dlg.mark.setCategory(Cat.UNKNOWN);
+					dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
+					dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
+					if (shapes.containsKey(shp))
+						shapes.get(shp).doClick();
+					isolButton.setBorderPainted(true);
+				} else {
+					isolButton.setBorderPainted(false);
+				}
 			}
 		}
@@ -114,8 +120,11 @@
 			}
 			if (dlg.mark != null) {
-				if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN))
+				if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN)) {
+					topmarkButton.setVisible(true);
 					dlg.panelMain.moreButton.setVisible(true);
-				else
+				} else {
+					topmarkButton.setVisible(false);
 					dlg.panelMain.moreButton.setVisible(false);
+				}
 				dlg.mark.paintSign();
 			}
@@ -125,8 +134,30 @@
 	private ActionListener alTop = new ActionListener() {
 		public void actionPerformed(java.awt.event.ActionEvent e) {
-			if (topmarkButton.isSelected()) {
-				topmarkButton.setBorderPainted(true);
-			} else {
-				topmarkButton.setBorderPainted(false);
+			if (dlg.mark != null) {
+				dlg.panelMain.panelTop.clearSelections();
+				if (topmarkButton.isSelected()) {
+					dlg.panelMain.panelTop.panelPat.noneButton.doClick();
+					dlg.panelMain.panelTop.panelPat.panelCol.blackButton.doClick();
+					switch (dlg.mark.getCategory()) {
+					case CAM_NORTH:
+						dlg.panelMain.panelTop.northTopButton.doClick();
+						break;
+					case CAM_SOUTH:
+						dlg.panelMain.panelTop.southTopButton.doClick();
+						break;
+					case CAM_EAST:
+						dlg.panelMain.panelTop.eastTopButton.doClick();
+						break;
+					case CAM_WEST:
+						dlg.panelMain.panelTop.westTopButton.doClick();
+						break;
+					default:
+						dlg.panelMain.panelTop.spheres2TopButton.doClick();
+						break;
+					}
+					topmarkButton.setBorderPainted(true);
+				} else {
+					topmarkButton.setBorderPainted(false);
+				}
 			}
 		}
@@ -147,5 +178,5 @@
 		this.add(getShapeButton(coneButton, 55, 96, 34, 32, "Cone", Shp.CONE, Obj.BOYCAR, Obj.BOYISD), null);
 		this.add(getShapeButton(sphereButton, 55, 128, 34, 32, "Sphere", Shp.SPHERE, Obj.BOYCAR, Obj.BOYISD), null);
-		this.add(getShapeButton(floatButton, 90, 0,34, 32, "Float", Shp.FLOAT, Obj.LITFLT, Obj.LITFLT), null);
+		this.add(getShapeButton(floatButton, 90, 0, 34, 32, "Float", Shp.FLOAT, Obj.LITFLT, Obj.LITFLT), null);
 		this.add(getShapeButton(beaconButton, 90, 32, 34, 32, "Beacon", Shp.BEACON, Obj.BCNCAR, Obj.BCNISD), null);
 		this.add(getShapeButton(towerButton, 90, 64, 34, 32, "Tower", Shp.TOWER, Obj.BCNCAR, Obj.BCNISD), null);
@@ -159,4 +190,5 @@
 	public void clearSelections() {
 		topmarkButton.setSelected(false);
+		topmarkButton.setVisible(false);
 		alTop.actionPerformed(null);
 		catButtons.clearSelection();
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 26950)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 26951)
@@ -97,5 +97,5 @@
 
 	public enum Ent {
-		BODY, BUOY, BEACON, FLOAT, TOPMARK, DAYMARK, LIGHT, MOORING, STATION
+		BODY, BUOY, BEACON, FLOAT, TOPMARK, LIGHT, MOORING, STATION
 	}
 
@@ -305,5 +305,4 @@
 	private ArrayList<Col> bodyColour = new ArrayList<Col>();
 	private ArrayList<Col> topColour = new ArrayList<Col>();
-	private ArrayList<Col> dayColour = new ArrayList<Col>();
 	private ArrayList<Col> lightColour = new ArrayList<Col>();
 
@@ -321,8 +320,4 @@
 				return topColour.get(i);
 			break;
-		case DAYMARK:
-			if (i < dayColour.size())
-				return dayColour.get(i);
-			break;
 		case LIGHT:
 			if (i < lightColour.size())
@@ -346,8 +341,4 @@
 			topColour.add(col);
 			break;
-		case DAYMARK:
-			dayColour.clear();
-			dayColour.add(col);
-			break;
 		case LIGHT:
 			lightColour.clear();
@@ -368,7 +359,4 @@
 			topColour.set(i, col);
 			break;
-		case DAYMARK:
-			dayColour.set(i, col);
-			break;
 		case LIGHT:
 			lightColour.set(i, col);
@@ -388,7 +376,4 @@
 			topColour.add(i, col);
 			break;
-		case DAYMARK:
-			dayColour.add(i, col);
-			break;
 		case LIGHT:
 			lightColour.add(i, col);
@@ -408,7 +393,4 @@
 			topColour.add(col);
 			break;
-		case DAYMARK:
-			dayColour.add(col);
-			break;
 		case LIGHT:
 			lightColour.add(col);
@@ -428,7 +410,4 @@
 			topColour.remove(i);
 			break;
-		case DAYMARK:
-			dayColour.remove(i);
-			break;
 		case LIGHT:
 			lightColour.remove(i);
@@ -452,5 +431,4 @@
 	private Pat bodyPattern = Pat.NONE;
 	private Pat topPattern = Pat.NONE;
-	private Pat dayPattern = Pat.NONE;
 
 	public Pat getPattern(Ent ent) {
@@ -463,6 +441,4 @@
 		case TOPMARK:
 			return topPattern;
-		case DAYMARK:
-			return dayPattern;
 		}
 		return Pat.NONE;
@@ -479,7 +455,4 @@
 		case TOPMARK:
 			topPattern = pat;
-			break;
-		case DAYMARK:
-			dayPattern = pat;
 			break;
 		}
