diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Call.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Call.java
index c9857ea05209fb466da58f8fe57751ddcfb68490..500425d015413ca78de3f68dc83b4db17cd60869 100644
--- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Call.java
+++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Call.java
@@ -221,7 +221,7 @@ public class TruffleNFI_Call implements CallRFFI {
                 boolean isNullSetting = prepareCall(nativeCallInfo.name, args, ffiWrapNodes);
                 Object[] realArgs = new Object[cachedArgsLength + 1];
                 System.arraycopy(args, 0, realArgs, 1, cachedArgsLength);
-                realArgs[0] = nativeCallInfo.address;
+                realArgs[0] = nativeCallInfo.address.asTruffleObject();
                 try {
                     result = ForeignAccess.sendExecute(executeNode, getFunction(cachedArgsLength), realArgs);
                     return unwrap.execute(result);