diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java
index 4f6dba39bcf6f755e02e3d4248270f4fedd84b60..acc4e16ed1125299c906d41728949def4943c29e 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Bind.java
@@ -585,7 +585,12 @@ public abstract class Bind extends RBaseNode {
                     CompilerDirectives.transferToInterpreterAndInvalidate();
                     bind = insert(BindNodeGen.create(type));
                 }
-                return bind.execute(frame, deparseLevel, args.getArguments(), (RArgsValuesAndNames) RArguments.getArgument(frame, 0), precedence(args.getArguments()));
+                Object firstArg = RArguments.getArgument(frame, 0);
+                RArgsValuesAndNames promisedArgs = args;
+                if (firstArg instanceof RArgsValuesAndNames) {
+                    promisedArgs = (RArgsValuesAndNames) firstArg;
+                }
+                return bind.execute(frame, deparseLevel, args.getArguments(), promisedArgs, precedence(args.getArguments()));
             }
         }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
index 322f7f2982969487d5eef7207afc71be99a48059..4a91d4b30caaa431b89e5fdc7ad587b97fcbfb05 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
@@ -13334,6 +13334,17 @@ structure(integer(0), .Dim = c(0L, 3L), .Dimnames = list(NULL,
 5th break 1201 1466
 6th break 1467 1600
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_cbind.testcbind6#
+#cbind2(3, 4)
+     [,1] [,2]
+[1,]    3    4
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_cbind.testcbind6#
+#cbind2(matrix(1:10, 2, 2), matrix(11:20, 2, 2))
+     [,1] [,2] [,3] [,4]
+[1,]    1    3   11   13
+[2,]    2    4   12   14
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_ceiling.testCeiling#
 #{ ceiling(c(0.2,-3.4,NA,0/0,1/0)) }
 [1]   1  -3  NA NaN Inf
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java
index cccb74db2a90c019cccf53a714362371e920a6e4..d675297dfde60ea95f8c542ac019a3b20c5f6fd6 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java
@@ -49,6 +49,12 @@ public class TestBuiltin_cbind extends TestBase {
                         "do.call('cbind', argv)");
     }
 
+    @Test
+    public void testcbind6() {
+        assertEval("cbind2(3, 4)");
+        assertEval("cbind2(matrix(1:10, 2, 2), matrix(11:20, 2, 2))");
+    }
+
     @Test
     public void testCbind() {
         assertEval("{ cbind() }");