diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RListMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RListMR.java
index 13c996f9c47386138b4d4d3fc77ee0e73e2ecbc8..f75ff54701cbcb000eadd1ac4d708a269c7af6d5 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RListMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RListMR.java
@@ -41,6 +41,7 @@ import com.oracle.truffle.r.runtime.context.RContext;
 import com.oracle.truffle.r.runtime.context.RContext.RCloseable;
 import com.oracle.truffle.r.runtime.data.RFunction;
 import com.oracle.truffle.r.runtime.data.RList;
+import com.oracle.truffle.r.runtime.data.RNull;
 import com.oracle.truffle.r.runtime.data.RStringVector;
 
 @MessageResolution(receiverType = RList.class, language = TruffleRLanguage.class)
@@ -75,7 +76,8 @@ public class RListMR {
         @SuppressWarnings("try")
         protected Object access(VirtualFrame frame, RList receiver, String field) {
             try (RCloseable c = RContext.withinContext(TruffleRLanguage.INSTANCE.actuallyFindContext0(findContext))) {
-                return extract.applyAccessField(frame, receiver, field);
+                Object applyAccessField = extract.applyAccessField(frame, receiver, field);
+                return applyAccessField;
             }
         }
     }
@@ -103,7 +105,8 @@ public class RListMR {
         @SuppressWarnings("try")
         protected Object access(RList receiver) {
             try (RCloseable c = RContext.withinContext(TruffleRLanguage.INSTANCE.actuallyFindContext0(findContext))) {
-                return getNamesNode.getNames(receiver);
+                RStringVector names = getNamesNode.getNames(receiver);
+                return names != null ? names : RNull.instance;
             }
         }
     }