diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv
index bb390e21df..94134a3480 100644
--- a/data/mapcss-mapping.csv
+++ b/data/mapcss-mapping.csv
@@ -687,7 +687,7 @@ deprecated|deprecated;573;x
deprecated|deprecated;574;x
aerialway|rope_tow;575;
natural|pond;576;natural|water|pond
-railway|station|funicular;[railway=station][station=funicular];;name;int_name;577;
+railway|station|funicular;[railway=station][station=funicular],[railway=halt][station=funicular];;name;int_name;577;
highway|secondary_link|tunnel;[highway=secondary_link][tunnel?];;name;int_name;578;
deprecated|deprecated;579;x
deprecated|deprecated;580;x
diff --git a/data/styles/default/dark/symbols/funicular-s.svg b/data/styles/default/dark/symbols/funicular-s.svg
new file mode 100644
index 0000000000..8d249cb3c5
--- /dev/null
+++ b/data/styles/default/dark/symbols/funicular-s.svg
@@ -0,0 +1,8 @@
+
+
diff --git a/data/styles/default/include/Icons.mapcss b/data/styles/default/include/Icons.mapcss
index 4a5e442351..23345e8cde 100644
--- a/data/styles/default/include/Icons.mapcss
+++ b/data/styles/default/include/Icons.mapcss
@@ -416,6 +416,8 @@ node|z17-[aerialway=station],
node|z17-[railway=level_crossing]
{icon-image: railway-crossing-m.svg;}
+node|z12-14[railway=station][station=funicular],
+{icon-image: funicular-s.svg;}
node|z15-[railway=station][station=funicular],
{icon-image: funicular-m.svg;text-offset: 1;font-size: 10;}
node|z17-[aerialway=station],
diff --git a/data/styles/default/light/symbols/funicular-s.svg b/data/styles/default/light/symbols/funicular-s.svg
new file mode 100644
index 0000000000..edf4550a99
--- /dev/null
+++ b/data/styles/default/light/symbols/funicular-s.svg
@@ -0,0 +1,8 @@
+
+