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 7fe705bfcbefc98aad3148be1e091e9ffab3e09e..0eab69dc38f083cb4dbc5da0a296d49c41c87ecc 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
@@ -260,8 +260,7 @@ public final class ReadVariableNode extends RBaseNode {
                 promiseHelper = insert(new PromiseHelperNode());
             }
             result = promiseHelper.evaluate(frame, (RPromise) result);
-        }
-        if (isActiveBindingProfile.profile(ActiveBinding.isActiveBinding(result))) {
+        } else if (isActiveBindingProfile.profile(ActiveBinding.isActiveBinding(result))) {
             Object readValue = ((ActiveBinding) result).readValue();
             if (readValue == RMissing.instance) {
                 throw error(mode == RType.Function ? RError.Message.UNKNOWN_FUNCTION : RError.Message.UNKNOWN_OBJECT, identifier);