diff --git a/runtime/vm/regexp_assembler_ir.cc b/runtime/vm/regexp_assembler_ir.cc
index 3001f99..888061d 100644
--- a/runtime/vm/regexp_assembler_ir.cc
+++ b/runtime/vm/regexp_assembler_ir.cc
@@ -322,6 +322,9 @@
 
   const Object& retval =
       Object::Handle(zone, DartEntry::InvokeFunction(fun, args));
+  if (retval.IsUnwindError()) {
+    Exceptions::PropagateError(Error::Cast(retval));
+  }
   if (retval.IsError()) {
     const Error& error = Error::Cast(retval);
     OS::PrintErr("%s\n", error.ToErrorCString());
diff --git a/tests/lib_2/isolate/kill_regexp_test.dart b/tests/lib_2/isolate/kill_regexp_test.dart
new file mode 100644
index 0000000..33cb8eb
--- /dev/null
+++ b/tests/lib_2/isolate/kill_regexp_test.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// VMOptions=--intrinsify
+// VMOptions=--no_intrinsify
+
+import "dart:isolate";
+import "dart:async";
+import "package:expect/expect.dart";
+
+isomain1(replyPort) {
+  final regexp = new RegExp('[ab]c');
+  while (true) {
+    Expect.equals(4, regexp.allMatches("acbcacbc").length);
+  }
+}
+
+void main() {
+  for (int i = 0; i < 20; ++i) {
+    ReceivePort reply = new ReceivePort();
+    Isolate.spawn(isomain1, reply.sendPort).then((Isolate isolate) {
+      new Timer(new Duration(milliseconds: 50), () {
+        print('killing isolate $i');
+        isolate.kill(priority: Isolate.immediate);
+      });
+    });
+    reply.close();
+  }
+}
