diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/RForceAndCallNode.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/RForceAndCallNode.java
index 9d4e21f1b34247478eafbc45e3853c07b1bd77d3..87ffb672daa0cebfae6a26abe511b403865b4a95 100644
--- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/RForceAndCallNode.java
+++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nodes/RForceAndCallNode.java
@@ -110,7 +110,7 @@ public abstract class RForceAndCallNode extends RBaseNode {
         System.arraycopy(dotArgs.getArguments(), 0, argValuesEx, argValues.size() - 1, dotArgs.getLength());
         final String[] argNames = dotArgs.getSignature().getNames();
         if (argNames != null) {
-            System.arraycopy(argNames, 0, argNamesEx, argValues.size(), dotArgs.getLength());
+            System.arraycopy(argNames, 0, argNamesEx, argValues.size() - 1, dotArgs.getLength());
         }
         argsAndNames = new RArgsValuesAndNames(argValuesEx, ArgumentsSignature.get(argNamesEx));
         return argsAndNames;
diff --git a/com.oracle.truffle.r.parser/src/com/oracle/truffle/r/parser/R.g b/com.oracle.truffle.r.parser/src/com/oracle/truffle/r/parser/R.g
index f4080f884755303c03605a955cd8ad6b875910f3..61e8a5979459880f5870305cacd415521c1f05a9 100644
--- a/com.oracle.truffle.r.parser/src/com/oracle/truffle/r/parser/R.g
+++ b/com.oracle.truffle.r.parser/src/com/oracle/truffle/r/parser/R.g
@@ -461,6 +461,7 @@ colon_expr returns [T v]
 
 unary_expression returns [T v]
     : op=(PLUS | MINUS | NOT | QM) n_ l=unary_expression { $v = builder.call(src($op, last()), operator($op), $l.v); }
+	| op=(TILDE) n_ l=utilde_expr { $v = builder.call(src($op, last()), operator($op), $l.v); }
     | b=power_expr                                  { $v = $b.v; }
     ;
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tilde.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tilde.java
index 4501558f556f8e3f6b772ebf1d5d229213e6a9aa..69e7882f9d32bc32c92dd345fa9b6f93084fed64 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tilde.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tilde.java
@@ -42,6 +42,7 @@ public class TestBuiltin_tilde extends TestBase {
         assertEval("... ~ 0 + x");
         assertEval("y ~ ...");
         assertEval("y ~ ... + 2");
+        assertEval("x * ~y");
     }
 
     @Test