diff --git a/src/if_py_both.h b/src/if_py_both.h
index b564d24..7253fc7 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -13,6 +13,8 @@
  * Common code for if_python.c and if_python3.c.
  */
 
+static char_u e_py_systemexit[]	= "E880: Can't handle SystemExit of %s exception in vim";
+
 #if PY_VERSION_HEX < 0x02050000
 typedef int Py_ssize_t;  /* Python 2.4 and earlier don't have this type. */
 #endif
@@ -275,7 +277,7 @@
 
     if (self)
 	for (method = self->ob_type->tp_methods ; method->ml_name != NULL ; ++method)
-	    if (add_string(ret, (char *) method->ml_name))
+	    if (add_string(ret, (char *)method->ml_name))
 	    {
 		Py_DECREF(ret);
 		return NULL;
@@ -549,8 +551,9 @@
 VimTryEnd(void)
 {
     --trylevel;
-    /* Without this it stops processing all subsequent VimL commands and 
-     * generates strange error messages if I e.g. try calling Test() in a cycle */
+    /* Without this it stops processing all subsequent VimL commands and
+     * generates strange error messages if I e.g. try calling Test() in a
+     * cycle */
     did_emsg = FALSE;
     /* Keyboard interrupt should be preferred over anything else */
     if (got_int)
@@ -570,7 +573,7 @@
     /* Finally transform VimL exception to python one */
     else
     {
-	PyErr_SetVim((char *) current_exception->value);
+	PyErr_SetVim((char *)current_exception->value);
 	discard_current_exception();
 	return -1;
     }
@@ -667,7 +670,7 @@
 
 	/* For backwards compatibility numbers are stored as strings. */
 	sprintf(buf, "%ld", (long)our_tv->vval.v_number);
-	ret = PyString_FromString((char *) buf);
+	ret = PyString_FromString((char *)buf);
     }
 # ifdef FEAT_FLOAT
     else if (our_tv->v_type == VAR_FLOAT)
@@ -675,7 +678,7 @@
 	char buf[NUMBUFLEN];
 
 	sprintf(buf, "%f", our_tv->vval.v_float);
-	ret = PyString_FromString((char *) buf);
+	ret = PyString_FromString((char *)buf);
     }
 # endif
     else if (our_tv->v_type == VAR_LIST)
@@ -955,7 +958,7 @@
     PyObject	*pathObject;
     map_rtp_data	*mr_data = *((map_rtp_data **) data);
 
-    if (!(pathObject = PyString_FromString((char *) path)))
+    if (!(pathObject = PyString_FromString((char *)path)))
     {
 	*data = NULL;
 	return;
@@ -1124,7 +1127,7 @@
     PyObject	*module;
     char	*dot;
 
-    if ((dot = (char *) vim_strchr((char_u *) tail, '.')))
+    if ((dot = (char *)vim_strchr((char_u *) tail, '.')))
     {
 	/*
 	 * There is a dot in the name: call find_module recursively without the
@@ -1658,7 +1661,7 @@
 
     --((*dii)->todo);
 
-    if (!(ret = PyBytes_FromString((char *) (*dii)->hi->hi_key)))
+    if (!(ret = PyBytes_FromString((char *)(*dii)->hi->hi_key)))
 	return NULL;
 
     return ret;
@@ -2680,12 +2683,12 @@
 FunctionRepr(FunctionObject *self)
 {
 #ifdef Py_TRACE_REFS
-    /* For unknown reason self->name may be NULL after calling 
+    /* For unknown reason self->name may be NULL after calling
      * Finalize */
     return PyString_FromFormat("<vim.Function '%s'>",
-	    (self->name == NULL ? "<NULL>" : (char *) self->name));
+	    (self->name == NULL ? "<NULL>" : (char *)self->name));
 #else
-    return PyString_FromFormat("<vim.Function '%s'>", (char *) self->name);
+    return PyString_FromFormat("<vim.Function '%s'>", (char *)self->name);
 #endif
 }
 
@@ -2809,7 +2812,7 @@
     {
 	if (stringval)
 	{
-	    PyObject	*ret = PyBytes_FromString((char *) stringval);
+	    PyObject	*ret = PyBytes_FromString((char *)stringval);
 	    vim_free(stringval);
 	    return ret;
 	}
@@ -4525,7 +4528,7 @@
 {
     if (strcmp(name, "name") == 0)
 	return PyString_FromString((self->buf->b_ffname == NULL
-				    ? "" : (char *) self->buf->b_ffname));
+				    ? "" : (char *)self->buf->b_ffname));
     else if (strcmp(name, "number") == 0)
 	return Py_BuildValue(Py_ssize_t_fmt, self->buf->b_fnum);
     else if (strcmp(name, "vars") == 0)
@@ -4961,7 +4964,19 @@
 #endif
 	)
 {
-    PyRun_SimpleString((char *) cmd);
+    PyObject	*run_ret;
+    run_ret = PyRun_String((char *)cmd, Py_file_input, globals, globals);
+    if (run_ret != NULL)
+    {
+	Py_DECREF(run_ret);
+    }
+    else if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_SystemExit))
+    {
+	EMSG2(_(e_py_systemexit), "python");
+	PyErr_Clear();
+    }
+    else
+	PyErr_PrintEx(1);
 }
 
 static const char	*code_hdr = "def " DOPY_FUNC "(line, linenr):\n ";
@@ -4979,6 +4994,7 @@
     char	*code;
     int		status;
     PyObject	*pyfunc, *pymain;
+    PyObject	*run_ret;
 
     if (u_save((linenr_T)RangeStart - 1, (linenr_T)RangeEnd + 1) != OK)
     {
@@ -4990,7 +5006,23 @@
     code = PyMem_New(char, len + 1);
     memcpy(code, code_hdr, code_hdr_len);
     STRCPY(code + code_hdr_len, cmd);
-    status = PyRun_SimpleString(code);
+    run_ret = PyRun_String(code, Py_file_input, globals, globals);
+    status = -1;
+    if (run_ret != NULL)
+    {
+	status = 0;
+	Py_DECREF(run_ret);
+    }
+    else if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_SystemExit))
+    {
+	PyMem_Free(code);
+	EMSG2(_(e_py_systemexit), "python");
+	PyErr_Clear();
+	return;
+    }
+    else
+	PyErr_PrintEx(1);
+
     PyMem_Free(code);
 
     if (status)
@@ -5068,9 +5100,14 @@
 {
     PyObject	*run_ret;
 
-    run_ret = PyRun_String((char *) cmd, Py_eval_input, globals, globals);
+    run_ret = PyRun_String((char *)cmd, Py_eval_input, globals, globals);
     if (run_ret == NULL)
     {
+	if (PyErr_ExceptionMatches(PyExc_SystemExit))
+	{
+	    EMSG2(_(e_py_systemexit), "python");
+	    PyErr_Clear();
+	}
 	if (PyErr_Occurred() && !msg_silent)
 	    PyErr_PrintEx(0);
 	EMSG(_("E858: Eval did not return a valid python object"));
diff --git a/src/if_python.c b/src/if_python.c
index 5245485..6e43b5d 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -444,6 +444,7 @@
 static PyObject *imp_PyExc_KeyboardInterrupt;
 static PyObject *imp_PyExc_TypeError;
 static PyObject *imp_PyExc_ValueError;
+static PyObject *imp_PyExc_SystemExit;
 static PyObject *imp_PyExc_RuntimeError;
 static PyObject *imp_PyExc_ImportError;
 static PyObject *imp_PyExc_OverflowError;
@@ -454,6 +455,7 @@
 # define PyExc_KeyboardInterrupt imp_PyExc_KeyboardInterrupt
 # define PyExc_TypeError imp_PyExc_TypeError
 # define PyExc_ValueError imp_PyExc_ValueError
+# define PyExc_SystemExit imp_PyExc_SystemExit
 # define PyExc_RuntimeError imp_PyExc_RuntimeError
 # define PyExc_ImportError imp_PyExc_ImportError
 # define PyExc_OverflowError imp_PyExc_OverflowError
@@ -731,6 +733,7 @@
     imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt");
     imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError");
     imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError");
+    imp_PyExc_SystemExit = PyDict_GetItemString(exdict, "SystemExit");
     imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError");
     imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError");
     imp_PyExc_OverflowError = PyDict_GetItemString(exdict, "OverflowError");
@@ -740,6 +743,7 @@
     Py_XINCREF(imp_PyExc_KeyboardInterrupt);
     Py_XINCREF(imp_PyExc_TypeError);
     Py_XINCREF(imp_PyExc_ValueError);
+    Py_XINCREF(imp_PyExc_SystemExit);
     Py_XINCREF(imp_PyExc_RuntimeError);
     Py_XINCREF(imp_PyExc_ImportError);
     Py_XINCREF(imp_PyExc_OverflowError);
diff --git a/src/if_python3.c b/src/if_python3.c
index badf015..6849f1f 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -126,7 +126,6 @@
 # define PyErr_PrintEx py3_PyErr_PrintEx
 # define PyErr_NoMemory py3_PyErr_NoMemory
 # define PyErr_Occurred py3_PyErr_Occurred
-# define PyErr_PrintEx py3_PyErr_PrintEx
 # define PyErr_SetNone py3_PyErr_SetNone
 # define PyErr_SetString py3_PyErr_SetString
 # define PyErr_SetObject py3_PyErr_SetObject
@@ -403,6 +402,7 @@
 static PyObject *p3imp_PyExc_KeyboardInterrupt;
 static PyObject *p3imp_PyExc_TypeError;
 static PyObject *p3imp_PyExc_ValueError;
+static PyObject *p3imp_PyExc_SystemExit;
 static PyObject *p3imp_PyExc_RuntimeError;
 static PyObject *p3imp_PyExc_ImportError;
 static PyObject *p3imp_PyExc_OverflowError;
@@ -413,6 +413,7 @@
 # define PyExc_KeyboardInterrupt p3imp_PyExc_KeyboardInterrupt
 # define PyExc_TypeError p3imp_PyExc_TypeError
 # define PyExc_ValueError p3imp_PyExc_ValueError
+# define PyExc_SystemExit p3imp_PyExc_SystemExit
 # define PyExc_RuntimeError p3imp_PyExc_RuntimeError
 # define PyExc_ImportError p3imp_PyExc_ImportError
 # define PyExc_OverflowError p3imp_PyExc_OverflowError
@@ -681,6 +682,7 @@
     p3imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt");
     p3imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError");
     p3imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError");
+    p3imp_PyExc_SystemExit = PyDict_GetItemString(exdict, "SystemExit");
     p3imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError");
     p3imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError");
     p3imp_PyExc_OverflowError = PyDict_GetItemString(exdict, "OverflowError");
@@ -690,6 +692,7 @@
     Py_XINCREF(p3imp_PyExc_KeyboardInterrupt);
     Py_XINCREF(p3imp_PyExc_TypeError);
     Py_XINCREF(p3imp_PyExc_ValueError);
+    Py_XINCREF(p3imp_PyExc_SystemExit);
     Py_XINCREF(p3imp_PyExc_RuntimeError);
     Py_XINCREF(p3imp_PyExc_ImportError);
     Py_XINCREF(p3imp_PyExc_OverflowError);
diff --git a/src/version.c b/src/version.c
index d73254f..830035f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1287,
+/**/
     1286,
 /**/
     1285,
