diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java
index 8c7b35626d0a55c423737f508686f5f2abe4f34c..80f8c14c4dce9dea033f22e7a5a348821fbb437d 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java
@@ -809,6 +809,13 @@ public class GrepFunctions {
                         } else {
                             resultItem = splitIntl(data, currentSplit);
                         }
+                        if (resultItem.getLength() == 0) {
+                            if (fixed) {
+                                resultItem = RDataFactory.createStringVector(data);
+                            } else {
+                                resultItem = RDataFactory.createStringVector(data.length());
+                            }
+                        }
                     }
                     result[i] = resultItem;
                 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strsplit.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strsplit.java
index 9558fb6b46e8ef44293d84233dda7282676bfdf4..8a7ced3aa7eeee197ff111e5f729ac8a693e0701 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strsplit.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strsplit.java
@@ -110,5 +110,9 @@ public class TestBuiltin_strsplit extends TestBase {
         assertEval("{ strsplit( c(\"helloh\", \"hi\"), c(\"h\",\"\")) }");
         assertEval("{ strsplit(\"ahoj\", split=\"\") [[c(1,2)]] }");
         assertEval("{ strsplit(\"a,h,o,j\", split=\",\") }");
+        assertEval("{ strsplit(\"abc\", \".\", fixed = TRUE, perl=FALSE) }");
+        assertEval("{ strsplit(\"abc\", \".\", fixed = TRUE, perl=TRUE) }");
+        assertEval("{ strsplit(\"abc\", \".\", fixed = FALSE, perl=FALSE) }");
+        assertEval("{ strsplit(\"abc\", \".\", fixed = FALSE, perl=TRUE) }");
     }
 }