Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java	(revision 17769)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java	(revision 17770)
@@ -10,4 +10,5 @@
 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.IconReference;
 import org.openstreetmap.josm.gui.mappaint.StyleKeys;
+import org.openstreetmap.josm.tools.Logging;
 
 /**
@@ -91,5 +92,10 @@
             Object value;
             if (val instanceof Expression) {
-                value = ((Expression) val).evaluate(env);
+                try {
+                    value = ((Expression) val).evaluate(env);
+                } catch (RuntimeException ex) {
+                    Logging.error(ex);
+                    value = null;
+                }
             } else {
                 value = val;
Index: /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 17769)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 17770)
@@ -721,3 +721,15 @@
         assertEquals("Error at line 1, column 17: Invalid pseudo class specified: foobar", sheet.getErrors().iterator().next().getMessage());
     }
+
+    /**
+     * Non-regression test for <a href="https://josm.openstreetmap.de/ticket/20757">Bug #20757</a>.
+     */
+    @Test
+    void testTicket20757() {
+        MapCSSStyleSource source = new MapCSSStyleSource("node {name: osm_user_name()}");
+        source.loadStyleSource();
+        MultiCascade mc = new MultiCascade();
+        source.apply(mc, OsmUtils.createPrimitive("node"), 20, false);
+        assertNull(mc.getCascade(null).get("name"));
+    }
 }
