diff --git a/gpxsee.qrc b/gpxsee.qrc
index f5b3746f..b75d8f19 100644
--- a/gpxsee.qrc
+++ b/gpxsee.qrc
@@ -207,6 +207,9 @@
icons/map/marine/eddies.png
icons/map/marine/dome.png
icons/map/marine/radar-reflector.png
+ icons/map/marine/24h-anchorage.png
+ icons/map/marine/dw-anchorage.png
+ icons/map/marine/tanker-anchorage.png
diff --git a/icons/map/marine/24h-anchorage.png b/icons/map/marine/24h-anchorage.png
new file mode 100644
index 00000000..f2a840d3
Binary files /dev/null and b/icons/map/marine/24h-anchorage.png differ
diff --git a/icons/map/marine/dw-anchorage.png b/icons/map/marine/dw-anchorage.png
new file mode 100644
index 00000000..78c28e18
Binary files /dev/null and b/icons/map/marine/dw-anchorage.png differ
diff --git a/icons/map/marine/tanker-anchorage.png b/icons/map/marine/tanker-anchorage.png
new file mode 100644
index 00000000..a0baf59f
Binary files /dev/null and b/icons/map/marine/tanker-anchorage.png differ
diff --git a/src/map/ENC/mapdata.cpp b/src/map/ENC/mapdata.cpp
index a0d2e63c..79fd75f6 100644
--- a/src/map/ENC/mapdata.cpp
+++ b/src/map/ENC/mapdata.cpp
@@ -176,7 +176,14 @@ static bool polygonPointCb(const MapData::Poly *polygon, void *context)
uint baseType = polygon->type()>>16;
if (!polygon->label().isEmpty() || baseType == TSSLPT || baseType == RCTLPT
- || baseType == I_TRNBSN || polygon->type() == SUBTYPE(I_BERTHS, 6))
+ || baseType == I_TRNBSN
+ || polygon->type() == SUBTYPE(ACHARE, 2)
+ || polygon->type() == SUBTYPE(ACHARE, 3)
+ || polygon->type() == SUBTYPE(ACHARE, 9)
+ || polygon->type() == SUBTYPE(I_ACHARE, 2)
+ || polygon->type() == SUBTYPE(I_ACHARE, 3)
+ || polygon->type() == SUBTYPE(I_ACHARE, 9)
+ || polygon->type() == SUBTYPE(I_BERTHS, 6))
points->append(MapData::Point(polygon->type(), polygon->bounds().center(),
polygon->label(), polygon->param()));
diff --git a/src/map/ENC/style.cpp b/src/map/ENC/style.cpp
index 4c6814f2..1f94eb2f 100644
--- a/src/map/ENC/style.cpp
+++ b/src/map/ENC/style.cpp
@@ -355,8 +355,6 @@ void Style::pointStyle(qreal ratio)
_points[SUBTYPE(I_RDOCAL, 3)].setTextColor(QColor(0xeb, 0x49, 0xeb));
_points[SUBTYPE(I_RDOCAL, 4)].setTextColor(QColor(0xeb, 0x49, 0xeb));
_points[TYPE(PYLONS)] = Point(QImage(":/marine/pylon.png"));
- _points[SUBTYPE(I_BERTHS, 6)] = Point(QImage(":/marine/fleeting-area.png"),
- Small);
_points[SUBTYPE(WATTUR, 1)] = Point(QImage(":/marine/breakers.png"));
_points[SUBTYPE(WATTUR, 2)] = Point(QImage(":/marine/eddies.png"));
_points[SUBTYPE(WATTUR, 3)] = Point(QImage(":/marine/overfalls.png"));
@@ -370,6 +368,18 @@ void Style::pointStyle(qreal ratio)
_points[TYPE(SEAARE)].setHaloColor(QColor());
_points[TYPE(RADRFL)] = Point(QImage(":/marine/radar-reflector.png"));
+ _points[SUBTYPE(I_BERTHS, 6)] = Point(QImage(":/marine/fleeting-area.png"),
+ Small);
+ _points[SUBTYPE(ACHARE, 2)] = Point(QImage(":/marine/dw-anchorage.png"),
+ Small);
+ _points[SUBTYPE(ACHARE, 3)] = Point(QImage(":/marine/tanker-anchorage.png"),
+ Small);
+ _points[SUBTYPE(ACHARE, 9)] = Point(QImage(":/marine/24h-anchorage.png"),
+ Small);
+ _points[SUBTYPE(I_ACHARE, 2)] = _points[SUBTYPE(ACHARE, 2)];
+ _points[SUBTYPE(I_ACHARE, 3)] = _points[SUBTYPE(ACHARE, 3)];
+ _points[SUBTYPE(I_ACHARE, 9)] = _points[SUBTYPE(ACHARE, 9)];
+
_points[SUBTYPE(SMCFAC, 7)] = Point(svg2img(":/POI/restaurant-11.svg",
ratio), Small);
_points[SUBTYPE(SMCFAC, 11)] = Point(svg2img(":/POI/pharmacy-11.svg",