Index: /applications/editors/josm/plugins/seachart/src/render/Rules.java
===================================================================
--- /applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 35428)
+++ /applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 35429)
@@ -461,17 +461,17 @@
 			switch ((CatSEA) getAttEnum(feature.type, Att.CATSEA)) {
 			case SEA_RECH:
-				if ((Renderer.zoom >= 10) && (name != null))
+				if ((Renderer.zoom >= 15) && (name != null))
 					if (feature.geom.prim == Pflag.LINE) {
-						Renderer.lineText(name, new Font("Arial", Font.PLAIN, 150), Color.black, -40);
+						Renderer.lineText(name, new Font("Arial", Font.PLAIN, 60), Color.black, -40);
 					} else {
-						Renderer.labelText(name, new Font("Arial", Font.PLAIN, 150), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -40)));
+						Renderer.labelText(name, new Font("Arial", Font.PLAIN, 60), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 0)));
 					}
 				break;
 			case SEA_BAY:
-				if ((Renderer.zoom >= 12) && (name != null))
+				if ((Renderer.zoom >= 15) && (name != null))
 					if (feature.geom.prim == Pflag.LINE) {
-						Renderer.lineText(name, new Font("Arial", Font.PLAIN, 150), Color.black, -40);
+						Renderer.lineText(name, new Font("Arial", Font.PLAIN, 60), Color.black, -40);
 					} else {
-						Renderer.labelText(name, new Font("Arial", Font.PLAIN, 150), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -40)));
+						Renderer.labelText(name, new Font("Arial", Font.PLAIN, 60), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 0)));
 					}
 				break;
@@ -900,21 +900,22 @@
                     addName(15, new Font("Arial", Font.BOLD, 40), new Delta(Handle.CC, AffineTransform.getTranslateInstance(0, -50)));
                 }
-            } else if (Renderer.zoom >= 16) {
-                if (testAttribute(Obj.BUISGL, Att.STATUS, StsSTS.STS_ILLD)) {
-                    Renderer.symbol(Beacons.Floodlight);
+                if (Renderer.zoom >= 16) {
+                	if (testAttribute(Obj.BUISGL, Att.STATUS, StsSTS.STS_ILLD)) {
+                		Renderer.symbol(Beacons.Floodlight);
+                	}
+                	ArrayList<Symbol> symbols = new ArrayList<>();
+                	ArrayList<FncFNC> fncs = (ArrayList<FncFNC>) getAttList(Obj.BUISGL, Att.FUNCTN);
+                	for (FncFNC fnc : fncs) {
+                		symbols.add(Landmarks.Funcs.get(fnc));
+                	}
+                	if (feature.objs.containsKey(Obj.SMCFAC)) {
+                		ArrayList<CatSCF> scfs = (ArrayList<CatSCF>) getAttList(Obj.SMCFAC, Att.CATSCF);
+                		for (CatSCF scf : scfs) {
+                			symbols.add(Facilities.Cats.get(scf));
+                		}
+                	}
+                	Renderer.cluster(symbols);
+                	Signals.addSignals();
                 }
-                ArrayList<Symbol> symbols = new ArrayList<>();
-                ArrayList<FncFNC> fncs = (ArrayList<FncFNC>) getAttList(Obj.BUISGL, Att.FUNCTN);
-                for (FncFNC fnc : fncs) {
-                    symbols.add(Landmarks.Funcs.get(fnc));
-                }
-                if (feature.objs.containsKey(Obj.SMCFAC)) {
-                    ArrayList<CatSCF> scfs = (ArrayList<CatSCF>) getAttList(Obj.SMCFAC, Att.CATSCF);
-                    for (CatSCF scf : scfs) {
-                        symbols.add(Facilities.Cats.get(scf));
-                    }
-                }
-                Renderer.cluster(symbols);
-                Signals.addSignals();
             }
             break;
@@ -940,4 +941,5 @@
 					Renderer.symbol(Harbours.Harbour);
 				}
+                addName(15, new Font("Arial", Font.BOLD, 40), new Delta(Handle.CC, AffineTransform.getTranslateInstance(0, -80)));
 			}
 			break;
