--- styles/standard/elemstyles.mapcss
+++ styles/standard/elemstyles.mapcss
@@ -273,9 +273,7 @@
 node[maxlength] {
     icon-image: "vehicle/restriction/maxlength.png";
 }
-node[maxspeed] {
-    icon-image: "vehicle/restriction/speed.png";
-}
+/* maxspeed see end of this file */
 node[minspeed] {
     icon-image: "vehicle/restriction/minspeed.png";
 }
@@ -3675,6 +3673,67 @@
     icon-image: "misc/deprecated.png";
     text: auto;
 }
+
+/******************/
+/* maxspeed nodes */
+/******************/
+node[maxspeed=none] {
+    icon-image: "vehicle/restriction/maxspeed_none.svg";
+}
+node[maxspeed=~/^[0-9]+$/] {
+    maxspeedprop: tag(maxspeed);
+    set maxspeedclass;
+}
+node[maxspeed=signals] {
+    maxspeedprop: " ?";
+    set maxspeedclass;
+}
+node[maxspeed=~/^[0-9]+ mph/] {
+    maxspeedprop: get(split(" mph",tag(maxspeed)),0);
+    set maxspeedclass;
+}
+node[maxspeed=~/[0-9]+ km\/h/] {
+    maxspeedprop: get(split(" km/h",tag(maxspeed)),0);
+    set maxspeedclass;
+}
+node[maxspeed=~/[0-9]+ knots/] {
+    maxspeedprop: get(split(" knots",tag(maxspeed)),0);
+    set maxspeedclass;
+}
+node[prop(maxspeedclass, default)][!is_prop_set(icon-image, default)]::core_maxnodebg {
+    /* background (white) */
+    symbol-shape: circle;
+    symbol-size: 17;
+    symbol-fill-color: white;
+    major-z-index: 4.2;
+}
+node[maxspeed]["maxspeed:variable"]["maxspeed:variable"!="no"][!is_prop_set(icon-image, default)]::core_maxnodebg,
+node[maxspeed=signals][!is_prop_set(icon-image, default)]::core_maxnodebg {
+    /* background (black) */
+    symbol-fill-color: black;
+}
+node[prop(maxspeedclass, default)][!is_prop_set(icon-image, default)]::core_maxnodefg {
+    /* foreground (black text and red circle) */
+    symbol-shape: circle;
+    symbol-size: 15;
+    symbol-stroke-color: crimson;
+    symbol-stroke-width: 2;
+    text: prop(maxspeedprop, default);
+    font-size: 8;
+    font-weight: bold;
+    text-color: black;
+    text-anchor-horizontal: center;
+    text-anchor-vertical: center;
+    text-offset-x: 0;
+    text-offset-y: -1;
+    major-z-index: 4.2;
+}
+node[maxspeed]["maxspeed:variable"]["maxspeed:variable"!="no"][!is_prop_set(icon-image, default)]::core_maxnodefg,
+node[maxspeed=signals][!is_prop_set(icon-image, default)]::core_maxnodefg {
+    /* foreground (white text) */
+    text-color: white;
+}
+
 /* "deprecated" tags 
      historic=museum -> tourism=museum 
      man_made=power_wind -> power=generator and power_source=wind 
