diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsFunction.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsFunction.java
index a50a499761a6a5f0de42de41ed39df1afadbadce..fdeeda8416209dfc7fe487f49730dcd834d4a23a 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsFunction.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsFunction.java
@@ -77,6 +77,8 @@ public abstract class AsFunction extends RBuiltinNode {
                     defaultValue = null;
                 } else if (arg == RNull.instance) {
                     defaultValue = ConstantNode.create(RNull.instance);
+                } else if (arg instanceof RLanguage && ((RLanguage) arg).getRep() instanceof ConstantNode) {
+                    defaultValue = (ConstantNode) ((RLanguage) arg).getRep();
                 } else {
                     throw RInternalError.unimplemented();
                 }