diff --git a/Doc/lib/libsys.tex b/Doc/lib/libsys.tex
index 558fb36..ea4aafa 100644
--- a/Doc/lib/libsys.tex
+++ b/Doc/lib/libsys.tex
@@ -197,6 +197,11 @@
   or when \code{os._exit()} is called.}
 \end{datadesc}
 
+\begin{funcdesc}{getcheckinterval}{}
+  Return the interpreter's ``check interval'';
+  see \function{setcheckinterval()}.
+\end{funcdesc}
+
 \begin{funcdesc}{getdefaultencoding}{}
   Return the name of the current default string encoding used by the
   Unicode implementation.
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 0e61c6f..48336b4 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -172,8 +172,10 @@
 
     def test_setcheckinterval(self):
         self.assertRaises(TypeError, sys.setcheckinterval)
-        sys.setcheckinterval(120)
-        sys.setcheckinterval(100)
+        orig = sys.getcheckinterval()
+        for n in 0, 100, 120, orig: # orig last to restore starting state
+            sys.setcheckinterval(n)
+            self.assertEquals(sys.getcheckinterval(), n)
 
     def test_recursionlimit(self):
         self.assertRaises(TypeError, sys.getrecursionlimit, 42)
diff --git a/Misc/NEWS b/Misc/NEWS
index 2953dc3..b793a73 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
 Core and builtins
 -----------------
 
+- The new function sys.getcheckinterval() returns the last value set
+  by sys.setcheckinterval().
+
 - The Windows implementation of PyThread_start_new_thread() never
   checked error returns from Windows functions correctly.  As a result,
   it could claim to start a new thread even when the Microsoft
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index edbc2bf..8c77a88 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -432,6 +432,16 @@
 );
 
 static PyObject *
+sys_getcheckinterval(PyObject *self, PyObject *args)
+{
+	return PyInt_FromLong(_Py_CheckInterval);
+}
+
+PyDoc_STRVAR(getcheckinterval_doc,
+"getcheckinterval() -> current check interval; see setcheckinterval()."
+);
+
+static PyObject *
 sys_setrecursionlimit(PyObject *self, PyObject *args)
 {
 	int new_limit;
@@ -723,6 +733,8 @@
 #endif
 	{"setcheckinterval",	sys_setcheckinterval, METH_VARARGS,
 	 setcheckinterval_doc}, 
+	{"getcheckinterval",	sys_getcheckinterval, METH_NOARGS,
+	 getcheckinterval_doc}, 
 #ifdef HAVE_DLOPEN
 	{"setdlopenflags", sys_setdlopenflags, METH_VARARGS, 
 	 setdlopenflags_doc},
