diff --git a/resources/data/validator/numeric.mapcss b/resources/data/validator/numeric.mapcss
index ff190dd326..20ceacb9e3 100644
--- a/resources/data/validator/numeric.mapcss
+++ b/resources/data/validator/numeric.mapcss
@@ -672,3 +672,37 @@ node[natural=tree][circumference][siunit_length(tag(circumference)) > 45] {
   assertNoMatch: "node natural=tree circumference=\"100 cm\"";
   assertNoMatch: "node natural=tree circumference=43"; /* Current world record */
 }
+
+node[natural=tree][height][siunit_length(tag(height)) > 150] {
+  throwWarning: tr("Unusually large value of {0} for a tree.", "{1.key}");
+  assertMatch: "node natural=tree height=\"200 m\"";
+  assertMatch: "node natural=tree height=3100.0";
+  assertNoMatch: "node natural=tree height=9.7";
+  assertNoMatch: "node natural=tree height=\"5900 cm\"";
+  assertNoMatch: "node natural=tree height=116 m"; /* Current world record "Hyperion" */
+}
+
+node[natural=tree][diameter][diameter =~ /^-?[0-9]+(\.[0-9]+)?$/][diameter < 5] {
+  throwWarning: tr("Unusually small value of {0} for a tree. Values for {0} without explicit unit are in millimeters.", "{1.key}");
+  assertMatch: "node natural=tree diameter=2";
+  assertNoMatch: "node natural=tree diameter=2 m";
+  assertNoMatch: "node natural=tree diameter=1000.0";
+}
+
+node[natural=tree][diameter][diameter =~ /^[0-9]+(\.[0-9]+)?$/][diameter > 20000] { /* special case because siunit_length for unitless values */
+  throwWarning: tr("Unusually large value of {0} for a tree''s trunk. Use diameter_crown for crown diameter.", "{1.key}");
+  assertMatch: "node natural=tree diameter=44000.0";
+  assertNoMatch: "node natural=tree diameter=15900"; /* Current world record "Glencoe Baobab" */
+}
+
+node[natural=tree][diameter][diameter =~ /m/][siunit_length(tag(diameter)) > 20] {
+  throwWarning: tr("Unusually large value of {0} for a tree''s trunk. Use diameter_crown for crown diameter.", "{1.key}");
+  assertMatch: "node natural=tree diameter=\"25 m\"";
+  assertNoMatch: "node natural=tree diameter=15.9 m"; /* Current world record "Glencoe Baobab" */
+}
+
+node[natural=tree][diameter_crown][siunit_length(tag(diameter_crown)) > 100] {
+  throwWarning: tr("Unusually large value of {0} for a tree.", "{1.key}");
+  assertMatch: "node natural=tree diameter_crown=\"121.2 m\"";
+  assertNoMatch: "node natural=tree diameter_crown=80 m";
+}
\ No newline at end of file
