Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java	(revision 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java	(revision 27314)
@@ -133,5 +133,5 @@
 							break;
 						case C:
-							dlg.panelMain.mark.setTopPattern(Pat.HORIZ);
+							dlg.panelMain.mark.setTopPattern(Pat.HSTRP);
 							dlg.panelMain.mark.setTopColour(Col.RED);
 							dlg.panelMain.mark.addTopColour(Col.WHITE);
@@ -152,5 +152,5 @@
 							break;
 						case C:
-							dlg.panelMain.mark.setTopPattern(Pat.HORIZ);
+							dlg.panelMain.mark.setTopPattern(Pat.HSTRP);
 							dlg.panelMain.mark.setTopColour(Col.GREEN);
 							dlg.panelMain.mark.addTopColour(Col.WHITE);
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelCol.java	(revision 27314)
@@ -73,5 +73,5 @@
 										dlg.panelMain.mark.addColour(ent, stackIdx, col);
 									break;
-								case SQUARE:
+								case SQUARED:
 									if (stackCol.size() < 4)
 										dlg.panelMain.mark.addColour(ent, stackIdx, col);
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java	(revision 27314)
@@ -24,5 +24,5 @@
 	private ActionListener alCat = new ActionListener() {
 		public void actionPerformed(java.awt.event.ActionEvent e) {
-			dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+			dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 			if (northButton.isSelected()) {
 				dlg.panelMain.mark.setCategory(Cat.CAM_NORTH);
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java	(revision 27314)
@@ -142,5 +142,4 @@
 		addLCItem(Messages.getString("FlareStack"), Cat.LMK_FLRS);
 		addLCItem(Messages.getString("Monument"), Cat.LMK_MNMT);
-		addLCItem(Messages.getString("RadioMast"), Cat.LMK_RADM);
 		addLCItem(Messages.getString("WindMotor"), Cat.LMK_WNDM);
 		addLCItem(Messages.getString("WindSock"), Cat.LMK_WNDS);
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMore.java	(revision 27314)
@@ -109,5 +109,5 @@
 					dlg.panelMain.mark.addObjColour(Col.GREEN);
 					dlg.panelMain.mark.addObjColour(Col.RED);
-					dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+					dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 					break;
 				case LAM_STBD:
@@ -119,5 +119,5 @@
 					dlg.panelMain.mark.addObjColour(Col.RED);
 					dlg.panelMain.mark.addObjColour(Col.GREEN);
-					dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+					dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 					break;
 				}
@@ -137,5 +137,5 @@
 					dlg.panelMain.mark.addObjColour(Col.RED);
 					dlg.panelMain.mark.addObjColour(Col.GREEN);
-					dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+					dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 					break;
 				case LAM_STBD:
@@ -147,5 +147,5 @@
 					dlg.panelMain.mark.addObjColour(Col.GREEN);
 					dlg.panelMain.mark.addObjColour(Col.RED);
-					dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+					dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 					break;
 				}
@@ -156,5 +156,5 @@
 			if (regionCButton.isSelected()) {
 				dlg.panelMain.mark.setRegion(Reg.C);
-				dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+				dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 				switch (dlg.panelMain.mark.getCategory()) {
 				case LAM_PORT:
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPat.java	(revision 27314)
@@ -40,9 +40,9 @@
 				panelCol.trimStack(1);
 				break;
-			case HORIZ:
-			case VERT:
+			case HSTRP:
+			case VSTRP:
 			case DIAG:
 				break;
-			case SQUARE:
+			case SQUARED:
 				panelCol.trimStack(4);
 				break;
@@ -63,8 +63,8 @@
 		add(panelCol);
 		add(getPatButton(noneButton, 76, 0, 27, 27, "NoPat", Pat.NOPAT));
-		add(getPatButton(horizButton, 76, 26, 27, 27, "HorizPat", Pat.HORIZ));
-		add(getPatButton(vertButton, 76, 52, 27, 27, "VertPat", Pat.VERT));
+		add(getPatButton(horizButton, 76, 26, 27, 27, "HorizPat", Pat.HSTRP));
+		add(getPatButton(vertButton, 76, 52, 27, 27, "VertPat", Pat.VSTRP));
 		add(getPatButton(diagButton, 76, 78, 27, 27, "DiagPat", Pat.DIAG));
-		add(getPatButton(squareButton, 76, 104, 27, 27, "SquarePat", Pat.SQUARE));
+		add(getPatButton(squareButton, 76, 104, 27, 27, "SquarePat", Pat.SQUARED));
 		add(getPatButton(borderButton, 76, 130, 27, 27, "BorderPat", Pat.BORDER));
 
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java	(revision 27314)
@@ -51,5 +51,5 @@
 						break;
 					case C:
-						dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+						dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 						dlg.panelMain.mark.setObjColour(Col.RED);
 						dlg.panelMain.mark.addObjColour(Col.WHITE);
@@ -59,5 +59,5 @@
 					}
 				} else {
-					dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+					dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 					switch (dlg.panelMain.mark.getRegion()) {
 					case A:
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java	(revision 27314)
@@ -35,5 +35,5 @@
 			if (dlg.panelMain.mark.testValid()) {
 				dlg.panelMain.panelChan.topmarkButton.setVisible(true);
-				dlg.panelMain.mark.setObjPattern(Pat.VERT);
+				dlg.panelMain.mark.setObjPattern(Pat.VSTRP);
 				dlg.panelMain.mark.setObjColour(Col.RED);
 				dlg.panelMain.mark.addObjColour(Col.WHITE);
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java	(revision 27314)
@@ -51,5 +51,5 @@
 						break;
 					case C:
-						dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+						dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 						dlg.panelMain.mark.setObjColour(Col.GREEN);
 						dlg.panelMain.mark.addObjColour(Col.WHITE);
@@ -59,5 +59,5 @@
 					}
 				} else {
-					dlg.panelMain.mark.setObjPattern(Pat.HORIZ);
+					dlg.panelMain.mark.setObjPattern(Pat.HSTRP);
 					switch (dlg.panelMain.mark.getRegion()) {
 					case A:
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 27289)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java	(revision 27314)
@@ -202,5 +202,5 @@
 		SIS_DNGR, SIS_OBST, SIS_CABL, SIS_MILY, SIS_DSTR, SIS_WTHR, SIS_STRM, SIS_ICE, SIS_TIME, SIS_TIDE,
 		SIS_TSTM, SIS_TGAG, SIS_TSCL, SIS_DIVE, SIS_LGAG, LIT_DIRF, LIT_LEDG,
-		LMK_CHMY, LMK_CARN, LMK_DSHA, LMK_FLGS, LMK_FLRS, LMK_MNMT, LMK_RADM, LMK_TOWR, LMK_WNDM, LMK_WTRT,
+		LMK_CHMY, LMK_CARN, LMK_DSHA, LMK_FLGS, LMK_FLRS, LMK_MNMT, LMK_TOWR, LMK_WNDM, LMK_WTRT,
 		LMK_MAST, LMK_WNDS, LMK_CLMN, LMK_OBLK, LMK_STAT, LMK_CROS, LMK_DOME, LMK_SCNR, LMK_WNDL, LMK_SPIR
 	}
@@ -271,5 +271,4 @@
 		CatSTR.put(Cat.LMK_FLRS, "flare_stack");
 		CatSTR.put(Cat.LMK_MNMT, "monument");
-		CatSTR.put(Cat.LMK_RADM, "radio_mast");
 		CatSTR.put(Cat.LMK_TOWR, "tower");
 		CatSTR.put(Cat.LMK_WNDM, "windmotor");
@@ -502,6 +501,7 @@
 		ChrMAP.put(EnumSet.of(Chr.FIXED, Chr.FLASH), "FFl");
 		ChrMAP.put(EnumSet.of(Chr.FLASH, Chr.LFLASH), "FlLFl");
+		ChrMAP.put(EnumSet.of(Chr.FIXED, Chr.OCCULTING), "FOc");
+		ChrMAP.put(EnumSet.of(Chr.FIXED, Chr.LFLASH), "FLFl");
 		ChrMAP.put(EnumSet.of(Chr.OCCULTING, Chr.FLASH), "OcFl");
-		ChrMAP.put(EnumSet.of(Chr.FIXED, Chr.LFLASH), "FLFl");
 		ChrMAP.put(EnumSet.of(Chr.QUICK, Chr.LFLASH), "Q+LFl");
 		ChrMAP.put(EnumSet.of(Chr.VQUICK, Chr.LFLASH), "VQ+LFl");
@@ -635,4 +635,13 @@
 	}
 
+	public void nulLight(int i) {
+		if (sectors.size() >= i) {
+			if (sectors.size() == 0)
+				sectors.add(sector.clone());
+			else
+				sectors.add(i, sector.clone());
+		}
+	}
+
 	public void addLight() {
 		if (sectors.size() == 0)
@@ -654,13 +663,13 @@
 
 	public enum Pat {
-		NOPAT, HORIZ, VERT, DIAG, SQUARE, BORDER, CROSS
+		NOPAT, HSTRP, VSTRP, DIAG, SQUARED, BORDER, CROSS
 	}
 
 	public static final EnumMap<Pat, String> PatSTR = new EnumMap<Pat, String>(Pat.class);
 	static {
-		PatSTR.put(Pat.HORIZ, "horizontal");
-		PatSTR.put(Pat.VERT, "vertical");
+		PatSTR.put(Pat.HSTRP, "horizontal");
+		PatSTR.put(Pat.VSTRP, "vertical");
 		PatSTR.put(Pat.DIAG, "diagonal");
-		PatSTR.put(Pat.SQUARE, "squared");
+		PatSTR.put(Pat.SQUARED, "squared");
 		PatSTR.put(Pat.BORDER, "border");
 		PatSTR.put(Pat.CROSS, "cross");
@@ -1468,4 +1477,5 @@
 			String secStr = (i == 0) ? "" : (":" + Integer.toString(i));
 			if (keys.containsKey("seamark:light" + secStr + ":colour")) {
+				nulLight(i);
 				str = keys.get("seamark:light" + secStr + ":colour");
 				if (str.contains(";")) {
@@ -1592,6 +1602,18 @@
 			setInfo(keys.get("seamark:information"));
 		}
+		if (keys.containsKey("seamark:light:information")) {
+			setInfo(getInfo() + keys.get("seamark:light:information"));
+		}
+		if (keys.containsKey("seamark:" + ObjSTR.get(getObject()) + "information")) {
+			setInfo(getInfo() + keys.get("seamark:" + ObjSTR.get(getObject()) + "information"));
+		}
 		if (keys.containsKey("seamark:source")) {
 			setSource(keys.get("seamark:source"));
+		}
+		if (keys.containsKey("seamark:light:source")) {
+			setSource(getSource() + keys.get("seamark:light:source"));
+		}
+		if (keys.containsKey("seamark:" + ObjSTR.get(getObject()) + "source")) {
+			setSource(getSource() + keys.get("seamark:" + ObjSTR.get(getObject()) + "source"));
 		}
 		if (keys.containsKey("seamark:height")) {
@@ -1814,5 +1836,5 @@
 					imgStr += "Monument";
 					break;
-				case LMK_RADM:
+				case LMK_MAST:
 					imgStr += "RadioMast";
 					break;
