diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/ReadVariableNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/ReadVariableNode.java
index 09fd6d12808e666d27883d4fcec18bf34c28edd5..338251a3ff4be1790e17ee1d2f8f6361ee9a7ca0 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/ReadVariableNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/ReadVariableNode.java
@@ -619,18 +619,17 @@ public final class ReadVariableNode extends RBaseNode {
         LookupResult lookup = FrameSlotChangeMonitor.lookup(variableFrame, identifier);
         if (lookup != null) {
             try {
-                if (lookup.getValue() instanceof RPromise) {
-                    evalPromiseSlowPathWithName(identifierAsString, frame, (RPromise) lookup.getValue());
+                Object value = lookup.getValue();
+                if (value instanceof RPromise) {
+                    evalPromiseSlowPathWithName(identifierAsString, frame, (RPromise) value);
                 }
-                if (lookup != null) {
-                    if (lookup instanceof FrameAndSlotLookupResult) {
-                        if (checkTypeSlowPath(frame, lookup.getValue())) {
-                            return new FrameAndSlotLookupLevel((FrameAndSlotLookupResult) lookup);
-                        }
-                    } else {
-                        if (lookup.getValue() == null || checkTypeSlowPath(frame, lookup.getValue())) {
-                            return new LookupLevel(lookup);
-                        }
+                if (lookup instanceof FrameAndSlotLookupResult) {
+                    if (checkTypeSlowPath(frame, value)) {
+                        return new FrameAndSlotLookupLevel((FrameAndSlotLookupResult) lookup);
+                    }
+                } else {
+                    if (value == null || checkTypeSlowPath(frame, value)) {
+                        return new LookupLevel(lookup);
                     }
                 }
             } catch (InvalidAssumptionException e) {