Index: applications/editors/josm/plugins/seachart/src/render/Rules.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 35692)
+++ applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 35693)
@@ -183,5 +183,5 @@
 		else
 			return null;
-		if ((item = atts.get(att)) == null)
+		if ((atts == null) || ((item = atts.get(att)) == null))
 			return null;
 		else
@@ -703,5 +703,5 @@
 
 	private static void cables() {
-		if ((Renderer.zoom >= 16) && (feature.geom.length < 2)) {
+		if ((Renderer.zoom >= 16) && (feature.geom.length < 20)) {
 			if (feature.type == Obj.CBLSUB) {
 				Renderer.lineSymbols(Areas.Cable, 0.0, null, null, 0, Symbols.Mline);
@@ -1300,5 +1300,5 @@
 
 	private static void pipelines() {
-		if ((Renderer.zoom >= 16) && (feature.geom.length < 2)) {
+		if ((Renderer.zoom >= 16) && (feature.geom.length < 20)) {
 			if (feature.type == Obj.PIPSOL) {
 				switch ((CatPIP) getAttEnum(feature.type, Att.CATPIP)) {
Index: applications/editors/josm/plugins/seachart/src/render/Signals.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 35692)
+++ applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 35693)
@@ -617,6 +617,6 @@
 				}
 			} else {
-				if ((Renderer.zoom >= 15) && (lights.get(0) != null)) {
-					AttMap atts = lights.get(0);
+				AttMap atts = lights.get(0);
+				if ((Renderer.zoom >= 15) && (atts != null)) {
 					ArrayList<CatLIT> cats = new ArrayList<>();
 					if (atts.containsKey(Att.CATLIT)) {
