diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java
index 1da4aba55b6c2ac991e8c98c495a14c76443d8f9..328f898e46ad8e6f8b48906815c003a24e692ba5 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java
@@ -56,6 +56,12 @@ public abstract class AccessFieldNode extends RNode {
         return RNull.instance;
     }
 
+    @Specialization(order = 3)
+    public Object accessField(REnvironment env) {
+        Object obj = env.get(getField());
+        return obj == null ? RNull.instance : obj;
+    }
+
     @Specialization(order = 1000)
     public Object accessField(@SuppressWarnings("unused") RAbstractVector object) {
         CompilerDirectives.transferToInterpreter();