diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java
index fb936c694c4c9cc7e7b23eead1f6bd54ed44df51..7424142247365787ca920c61828e47e157bc9a34 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ConvertBooleanNode.java
@@ -152,6 +152,12 @@ public abstract class ConvertBooleanNode extends RNode {
         return doRaw(value.getDataAt(0));
     }
 
+    @Specialization
+    protected byte doRawVector(RList value) {
+        checkLength(value);
+        throw RError.error(this, RError.Message.ARGUMENT_NOT_INTERPRETABLE_LOGICAL);
+    }
+
     public static ConvertBooleanNode create(RSyntaxNode node) {
         if (node instanceof ConvertBooleanNode) {
             return (ConvertBooleanNode) node;
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 166d4a7d4b24a34f68a14d119f6b7181f4714f8e..9d71e938d4d8a88603efb4d49765f40d2401dbb9 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
@@ -57808,6 +57808,13 @@ Error in if (TRUE == NA) TRUE else FALSE :
 #{ x <- 2 ; if (NA) x <- 3 ; x }
 Error in if (NA) x <- 3 : missing value where TRUE/FALSE needed
 
+##com.oracle.truffle.r.test.library.base.TestSimpleIfEvaluator.testIf
+#{ x<-list(1,2); if (x) 7 else 42 }
+Error in if (x) 7 else 42 : argument is not interpretable as logical
+In addition: Warning message:
+In if (x) 7 else 42 :
+  the condition has length > 1 and only the first element will be used
+
 ##com.oracle.truffle.r.test.library.base.TestSimpleIfEvaluator.testIf2
 #if(FALSE) 1 else 2
 [1] 2
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleIfEvaluator.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleIfEvaluator.java
index 1d3ec43d1390f07621d1d9a07025303dc267226d..bd1116b82d262f37edbb81b65e712aac4c8438ec 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleIfEvaluator.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleIfEvaluator.java
@@ -67,6 +67,7 @@ public class TestSimpleIfEvaluator extends TestBase {
         assertEval("{ if (FALSE==TRUE) TRUE else FALSE }");
         assertEval("{ if (FALSE==1) TRUE else FALSE }");
         assertEval("{ f <- function(v) { if (FALSE==v) TRUE else FALSE } ; f(TRUE) ; f(1) }");
+        assertEval(Output.ContainsError, Output.ContainsWarning, "{ x<-list(1,2); if (x) 7 else 42 }");
     }
 
     @Test