diff --git a/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h b/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h
index 6ff33e79e5d32294052d4e943af37760aecb8141..dc6cc94ac6ec57c25a2511f883e31342564135dc 100644
--- a/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h
+++ b/com.oracle.truffle.r.native/fficall/src/common/rffi_variablesindex.h
@@ -74,16 +74,19 @@
 #define R_NegInf_x 46
 #define R_NaReal_x 47
 #define R_NaInt_x 48
-#define R_BlankString_x 49
-#define R_BlankScalarString_x 50
-#define R_BaseSymbol_x 51
-#define R_NamespaceEnvSymbol_x 52
-#define R_RestartToken_x 53
-#define R_SortListSymbol_x 54
-#define R_SpecSymbol_x 55
-#define R_TripleColonSymbol_x 56
-#define R_PreviousSymbol_x 57
+#define R_TrueValue_x 49
+#define R_FalseValue_x 50
+#define R_LogicalNAValue_x 51
+#define R_BlankString_x 52
+#define R_BlankScalarString_x 53
+#define R_BaseSymbol_x 54
+#define R_NamespaceEnvSymbol_x 55
+#define R_RestartToken_x 56
+#define R_SortListSymbol_x 57
+#define R_SpecSymbol_x 58
+#define R_TripleColonSymbol_x 59
+#define R_PreviousSymbol_x 60
 
-#define VARIABLES_TABLE_SIZE 58
+#define VARIABLES_TABLE_SIZE 61
 
 #endif // RFFI_VARIABLESINDEX_H
diff --git a/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h b/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h
index 66cfe800230eb27b13a28e9b561f309ce7a2194a..f30097de226e059964cedf9b7ffab3a7eb570ad8 100644
--- a/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h
+++ b/com.oracle.truffle.r.native/fficall/src/truffle_common/variables_common.h
@@ -102,6 +102,9 @@ double R_PosInf;
 double R_NegInf;
 double R_NaReal;
 int R_NaInt;
+SEXP R_TrueValue;
+SEXP R_FalseValue;
+SEXP R_LogicalNAValue;
 SEXP R_BlankString;
 SEXP R_BlankScalarString;
 SEXP R_BaseSymbol; /* "base" */
@@ -187,6 +190,9 @@ void Call_initvar_obj_common(int index, void* value) {
         case R_SrcrefSymbol_x: R_SrcrefSymbol = value; break;
         case R_SrcfileSymbol_x: R_SrcfileSymbol = value; break;
         case R_NaString_x: R_NaString = value; break;
+        case R_TrueValue_x: R_TrueValue = value; break;
+        case R_FalseValue_x: R_FalseValue = value; break;
+        case R_LogicalNAValue_x: R_LogicalNAValue = value; break;
         case R_BlankString_x: R_BlankString = value; break;
         case R_BlankScalarString_x: R_BlankScalarString = value; break;
         case R_BaseSymbol_x: R_BaseSymbol = value; break;
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java
index ed972ee45090f95076518b30f1787e249388aabb..a3957e47cc6b71de034c780a19bcea943a42df31 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/RFFIVariables.java
@@ -86,6 +86,9 @@ public enum RFFIVariables {
     R_NegInf(Double.NEGATIVE_INFINITY),
     R_NaReal(RRuntime.DOUBLE_NA),
     R_NaInt(RRuntime.INT_NA),
+    R_TrueValue(RDataFactory.getPermanent().createLogicalVectorFromScalar(RRuntime.LOGICAL_TRUE)),
+    R_FalseValue(RDataFactory.getPermanent().createLogicalVectorFromScalar(RRuntime.LOGICAL_FALSE)),
+    R_LogicalNAValue(RDataFactory.getPermanent().createLogicalVectorFromScalar(RRuntime.LOGICAL_NA)),
     R_BlankString(CharSXPWrapper.create("")),
     R_BlankScalarString(RDataFactory.createStringVectorFromScalar("")),
     R_BaseSymbol(RDataFactory.createSymbol("base")),