diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py
index fc7ed94..2ca84f4 100644
--- a/Lib/test/test_binop.py
+++ b/Lib/test/test_binop.py
@@ -335,6 +335,7 @@
 self.assertEqual(2 / Rat(5), Rat(2, 5))
 self.assertEqual(3.0 * Rat(1, 2), 1.5)
 self.assertEqual(Rat(1, 2) * 3.0, 1.5)
+self.assertEqual(eval('1/2'), 0.5)
 """
 
 test_support.run_unittest(RatTestCase)
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 9a179a1..9a6f5e4 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -523,6 +523,7 @@
 	PyObject *cmd;
 	PyObject *globals = Py_None, *locals = Py_None;
 	char *str;
+	PyCompilerFlags cf;
 
 	if (!PyArg_ParseTuple(args, "O|O!O!:eval",
 			&cmd,
@@ -536,11 +537,13 @@
 	}
 	else if (locals == Py_None)
 		locals = globals;
+
 	if (PyDict_GetItemString(globals, "__builtins__") == NULL) {
 		if (PyDict_SetItemString(globals, "__builtins__",
 					 PyEval_GetBuiltins()) != 0)
 			return NULL;
 	}
+
 	if (PyCode_Check(cmd)) {
 		if (PyTuple_GET_SIZE(((PyCodeObject *)cmd)->co_freevars) > 0) {
 			PyErr_SetString(PyExc_TypeError,
@@ -549,6 +552,7 @@
 		}
 		return PyEval_EvalCode((PyCodeObject *) cmd, globals, locals);
 	}
+
 	if (!PyString_Check(cmd) &&
 	    !PyUnicode_Check(cmd)) {
 		PyErr_SetString(PyExc_TypeError,
@@ -559,7 +563,10 @@
 		return NULL;
 	while (*str == ' ' || *str == '\t')
 		str++;
-	return PyRun_String(str, Py_eval_input, globals, locals);
+
+	cf.cf_flags = 0;
+	(void)PyEval_MergeCompilerFlags(&cf);
+	return PyRun_StringFlags(str, Py_eval_input, globals, locals, &cf);
 }
 
 static char eval_doc[] =
