diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index db823ff..46f3d68 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -931,6 +931,19 @@
             self.assertEqual(input(), 'whitespace')
             sys.stdin = cStringIO.StringIO()
             self.assertRaises(EOFError, input)
+
+            # SF 876178: make sure input() respect future options.
+            sys.stdin = cStringIO.StringIO('1/2')
+            sys.stdout = cStringIO.StringIO()
+            exec compile('print input()', 'test_builtin_tmp', 'exec')
+            sys.stdin.seek(0, 0)
+            exec compile('from __future__ import division;print input()',
+                         'test_builtin_tmp', 'exec')
+            sys.stdin.seek(0, 0)
+            exec compile('print input()', 'test_builtin_tmp', 'exec')
+            self.assertEqual(sys.stdout.getvalue().splitlines(),
+                             ['0', '0.5', '0'])
+
             del sys.stdout
             self.assertRaises(RuntimeError, input, 'prompt')
             del sys.stdin
diff --git a/Misc/NEWS b/Misc/NEWS
index e4332d8..9d2e354 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@
 Core and builtins
 -----------------
 
+- input() builtin function now respects compiler flags such as
+  __future__ statements.  SF patch 876178.
+
 - Removed PendingDeprecationWarning from apply().  apply() remains
   deprecated, but the nuisance warning will not be issued.
 
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index a17c6d9..7321b74 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -979,6 +979,7 @@
 	char *str;
 	PyObject *res;
 	PyObject *globals, *locals;
+	PyCompilerFlags cf;
 
 	line = builtin_raw_input(self, args);
 	if (line == NULL)
@@ -994,7 +995,9 @@
 					 PyEval_GetBuiltins()) != 0)
 			return NULL;
 	}
-	res = PyRun_String(str, Py_eval_input, globals, locals);
+	cf.cf_flags = 0;
+	PyEval_MergeCompilerFlags(&cf);
+	res = PyRun_StringFlags(str, Py_eval_input, globals, locals, &cf);
 	Py_DECREF(line);
 	return res;
 }
