Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java	(revision 26127)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLit.java	(revision 26128)
@@ -78,7 +78,7 @@
 						panelSector.setLocation(450, 0);
 					}
-					if (dlg.mark.light.getRowCount() == 1) {
-						dlg.mark.light.addSector(1);
-						dlg.mark.light.setSectored(true);
+					if (panelSector.getSectorCount() == 0) {
+						panelSector.addSector(1);
+						panelSector.light.setSectored(true);
 					}
 					panelSector.setVisible(true);
Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSectors.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSectors.java	(revision 26127)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSectors.java	(revision 26128)
@@ -7,4 +7,7 @@
 import javax.swing.JTable;
 import javax.swing.JButton;
+import javax.swing.table.AbstractTableModel;
+
+import java.awt.event.ActionListener;
 
 import oseam.seamarks.Light;
@@ -16,22 +19,68 @@
 	public JButton plusButton;
 	public JTable table;
+	public Light light;
+	private JScrollPane tablePane;
+	private ActionListener alMinusButton;
+	private ActionListener alPlusButton;
 	
-	public PanelSectors(Light light) {
+	public PanelSectors(Light lit) {
 		super("Sector Table");
+		light = lit;
 		panel = new JPanel();
 		this.setSize(700, 100);
 		panel.setBounds(0, 0, 700, 512);
 		this.getContentPane().add(panel);
+		table = new JTable(light);
+		tablePane = new JScrollPane(table);
+		tablePane.setBounds(40, 0, 660, 34);
+		panel.setLayout(null);
+		panel.add(tablePane);
+		
+		alMinusButton = new ActionListener() {
+			public void actionPerformed(java.awt.event.ActionEvent e) {
+				deleteSector(2);
+			}
+		};
 		minusButton = new JButton(new ImageIcon(getClass().getResource("/images/MinusButton.png")));
 		minusButton.setBounds(0, 0, 32, 34);
+		minusButton.addActionListener(alMinusButton);
+		panel.add(minusButton);
+		
+		alPlusButton = new ActionListener() {
+			public void actionPerformed(java.awt.event.ActionEvent e) {
+				addSector(2);
+			}
+		};
 		plusButton = new JButton(new ImageIcon(getClass().getResource("/images/PlusButton.png")));
 		plusButton.setBounds(0, 34, 32, 34);
-		table = new JTable(light);
-		JScrollPane tablePane = new JScrollPane(table);
-		tablePane.setBounds(40, 0, 660, 34);
-		panel.setLayout(null);
-		panel.add(minusButton);
+		plusButton.addActionListener(alPlusButton);
 		panel.add(plusButton);
-		panel.add(tablePane);
 	}
+	
+	public int getSectorCount() {
+		return light.getRowCount();
+	}
+	
+	public void addSector(int idx) {
+		light.addSector(idx);
+		tablePane.setSize(660, ((light.getRowCount() * 16) + 18));
+		if (light.getRowCount() > 3) {
+			this.setSize(700, ((light.getRowCount() * 16) + 40));
+		} else {
+			this.setSize(700, 100);
+		}
+		light.fireTableRowsInserted(idx, idx);
+	}
+	
+	public void deleteSector(int idx) {
+		light.deleteSector(idx);
+		tablePane.setSize(660, ((light.getRowCount() * 16) + 18));
+		if (light.getRowCount() > 3) {
+			this.setSize(700, ((light.getRowCount() * 16) + 40));
+		} else {
+			this.setSize(700, 100);
+		}
+		light.fireTableRowsDeleted(idx, idx);
+	}
+	
 }
Index: /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/Light.java
===================================================================
--- /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/Light.java	(revision 26127)
+++ /applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/Light.java	(revision 26128)
@@ -22,8 +22,7 @@
 	
 	public Light(OSeaMAction dia) {
-		super();
 		dlg = dia;
 		lights = new ArrayList<Object[]>();
-		lights.add(new Object[12]);
+		lights.add(new Object[]{null, null, null, null, null, null, null, null, null, null, null, null});
 	}
 
@@ -81,16 +80,4 @@
 	public void setSectored(boolean sectored) {
 		Sectored = sectored;
-		if (sectored) {
-			setLightColour(0, Col.UNKNOWN);
-		} else {
-			setLightChar(0, Chr.UNKNOWN);
-			setLightColour(0, Col.UNKNOWN);
-			setLightGroup(0, "");
-			setHeight(0, "");
-			setRange(0, "");
-			setBearing1(0, "");
-			setBearing2(0, "");
-			setVisibility(0, Vis.UNKNOWN);
-		}
 	}
 
