diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java
index ee32d4b062fadb17d7d596c269dce3e39d15f781..5395974b3fdf0e9df8b8f302dbeb8bb70f4f03d1 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/WhichFunctions.java
@@ -47,12 +47,12 @@ import static com.oracle.truffle.r.runtime.RBuiltinKind.INTERNAL;
  */
 public class WhichFunctions {
 
-    @RBuiltin(name = "which", kind = INTERNAL, parameterNames = {"x", "arr.ind", "useNames"})
+    @RBuiltin(name = "which", kind = INTERNAL, parameterNames = {"x"})
     public abstract static class Which extends RBuiltinNode {
 
         @Override
         public RNode[] getParameterValues() {
-            return new RNode[]{ConstantNode.create(RMissing.instance), ConstantNode.create(RRuntime.LOGICAL_FALSE), ConstantNode.create(RRuntime.LOGICAL_TRUE)};
+            return new RNode[]{ConstantNode.create(RMissing.instance)};
         }
 
         @Specialization
@@ -69,7 +69,7 @@ public class WhichFunctions {
             for (int i = 0; i < result.length; ++i) {
                 result[i] = w.get(i) + 1;
             }
-            return RDataFactory.createIntVector(result, RDataFactory.COMPLETE_VECTOR);
+            return RDataFactory.createIntVector(result, RDataFactory.COMPLETE_VECTOR, x.getNames());
         }
     }