Index: /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 26705)
+++ /applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java	(revision 26706)
@@ -1323,4 +1323,14 @@
 			cbM01Sector.addItem(Messages.getString("SmpDialogAction.202")); //$NON-NLS-1$
 			cbM01Sector.addItem(Messages.getString("SmpDialogAction.203")); //$NON-NLS-1$
+			cbM01Sector.addItem("10");
+			cbM01Sector.addItem("11");
+			cbM01Sector.addItem("12");
+			cbM01Sector.addItem("13");
+			cbM01Sector.addItem("14");
+			cbM01Sector.addItem("15");
+			cbM01Sector.addItem("16");
+			cbM01Sector.addItem("17");
+			cbM01Sector.addItem("18");
+			cbM01Sector.addItem("19");
 			cbM01Sector.addActionListener(new ActionListener() {
 				public void actionPerformed(ActionEvent e) {
Index: /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java
===================================================================
--- /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 26705)
+++ /applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java	(revision 26706)
@@ -261,5 +261,5 @@
 	}
 
-	private String[] LightChar = new String[10];
+	private String[] LightChar = new String[20];
 
 	public String getLightChar() {
@@ -273,5 +273,5 @@
 	}
 
-	private String[] LightColour = new String[10];
+	private String[] LightColour = new String[20];
 
 	public String getLightColour() {
@@ -285,5 +285,5 @@
 	}
 
-	private String[] LightGroup = new String[10];
+	private String[] LightGroup = new String[20];
 
 	public String getLightGroup() {
@@ -305,5 +305,5 @@
 	}
 
-	private String[] Height = new String[10];
+	private String[] Height = new String[20];
 
 	public String getHeight() {
@@ -317,5 +317,5 @@
 	}
 
-	private String[] Range = new String[10];
+	private String[] Range = new String[20];
 
 	public String getRange() {
@@ -329,5 +329,5 @@
 	}
 
-	private String[] Sequence = new String[10];
+	private String[] Sequence = new String[20];
 
 	public String getSeq() {
@@ -341,5 +341,5 @@
 	}
 
-	private String[] Bearing1 = new String[10];
+	private String[] Bearing1 = new String[20];
 
 	public String getBearing1() {
@@ -353,5 +353,5 @@
 	}
 
-	private String[] Bearing2 = new String[10];
+	private String[] Bearing2 = new String[20];
 
 	public String getBearing2() {
@@ -365,5 +365,5 @@
 	}
 
-	private String[] Radius = new String[10];
+	private String[] Radius = new String[20];
 
 	public String getRadius() {
@@ -377,5 +377,5 @@
 	}
 
-	private String[] LightPeriod = new String[10];
+	private String[] LightPeriod = new String[20];
 
 	public String getLightPeriod() {
@@ -470,9 +470,15 @@
 				int index = 0;
 				key = key.substring(14);
-				if (key.matches("^\\d:.*")) {
+				if (key.matches("^\\d\\d:.*")) {
+					index = ((key.charAt(0) - '0') * 10) + key.charAt(1) - '0';
+					key = key.substring(3);
+				} else if (key.matches("^\\d:.*")) {
+						index = key.charAt(0) - '0';
+						key = key.substring(2);
+				} else if ((key.matches("^\\d$")) || (key.matches("^\\d\\d$"))) {
 					index = key.charAt(0) - '0';
-					key = key.substring(2);
-				} else if (key.matches("^\\d$")) {
-					index = key.charAt(0) - '0';
+					if (key.matches("^\\d\\d$")) {
+						index = (index * 10) + key.charAt(1) - '0';
+					}
 					String values[] = value.split(":");
 					if (values[0].equals("red"))
@@ -971,5 +977,5 @@
 						"seamark:light:radius", Radius[0]));
 
-			for (int i = 1; i < 10; i++) {
+			for (int i = 1; i < 20; i++) {
 
 				if (LightColour[i] != null) {
