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 f873109da07b8215fc2cbf199541c0ec6dd8e2df..e4eabf251c08f14a3b4c68cae04097fbc6f3fcd1 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
@@ -1267,8 +1267,8 @@ public class GrepFunctions {
                 lastEndIndex = endIndex;
                 matches.add(match);
             }
-            if (lastEndOffset < data.length()) {
-                matches.add(data.substring(lastEndOffset));
+            if (lastEndIndex < data.length()) {
+                matches.add(data.substring(lastEndIndex));
             }
             String[] result = new String[matches.size()];
             matches.toArray(result);
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 8fef252e8753cf9ccc3ec41ebc0250fcd584ecfe..b7d3de3e8cfa5e068c4c8de8bfb49016f1be01f6 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
@@ -48181,6 +48181,12 @@ character(0)
 [1] "oo"  "bar" "ba"
 
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_strsplit.testStrSplit#
+#strsplit('Ä Ä', '[ ]', perl=TRUE)
+[[1]]
+[1] "Ä" "Ä"
+
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_strsplit.testStrSplit#
 #{ .Internal(strsplit("7", 42, F, F, F)) }
 Error: non-character argument
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 f508fdd27b6c4a938a5a8cf3c2c6e43f67cff2e3..3a060acb8ddaf346b119d28ca8af4104351bf311 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
@@ -121,5 +121,6 @@ public class TestBuiltin_strsplit extends TestBase {
         assertEval("strsplit('foo bar baz', '[f z]', perl=TRUE)");
         assertEval("strsplit('oo bar baz', '[f z]', perl=TRUE)");
         assertEval("strsplit('foo \u1010ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄbar baz ', '[f z]', perl=TRUE)");
+        assertEval("strsplit('Ä Ä', '[ ]', perl=TRUE)");
     }
 }