diff --git a/Modules/future_builtins.c b/Modules/future_builtins.c
index 686925d..5baaa60 100644
--- a/Modules/future_builtins.c
+++ b/Modules/future_builtins.c
@@ -59,11 +59,24 @@
 PyMODINIT_FUNC
 initfuture_builtins(void)
 {
-	PyObject *m;
+	PyObject *m, *itertools, *iter_func;
+	char *it_funcs[] = {"imap", "ifilter", "izip", NULL};
+	char **cur_func;
 
 	m = Py_InitModule3("future_builtins", module_functions, module_doc);
 	if (m == NULL)
 		return;
 
+	itertools = PyImport_ImportModuleNoBlock("itertools");
+	if (itertools == NULL)
+		return;
+
+	for (cur_func = it_funcs; *cur_func; ++cur_func){
+		iter_func = PyObject_GetAttrString(itertools, *cur_func);
+		if (iter_func == NULL)
+			return;
+		PyModule_AddObject(m, *cur_func+1, iter_func);
+	}
+	Py_DECREF(itertools);
 	/* any other initialization needed */
 }
diff --git a/Modules/itertoolsmodule.c b/Modules/itertoolsmodule.c
index 8c3375a..a369dc9 100644
--- a/Modules/itertoolsmodule.c
+++ b/Modules/itertoolsmodule.c
@@ -2542,7 +2542,7 @@
 	ifilterobject *lz;
 
 	if (Py_Py3kWarningFlag &&
-	    PyErr_Warn(PyExc_DeprecationWarning, 
+	    PyErr_Warn(PyExc_DeprecationWarning,
 		       "In 3.x, itertools.ifilter() was moved to builtin filter().") < 0)
 		return NULL;
 
@@ -2552,6 +2552,15 @@
 	if (!PyArg_UnpackTuple(args, "ifilter", 2, 2, &func, &seq))
 		return NULL;
 
+	if (func == Py_None) {
+		if (Py_Py3kWarningFlag &&
+		    PyErr_Warn(PyExc_DeprecationWarning,
+			       "ifilter with None as a first argument "
+			       "is not supported in 3.x.  Use a list "
+			       "comprehension instead.") < 0)
+			return NULL;
+	}
+
 	/* Get iterator. */
 	it = PyObject_GetIter(seq);
 	if (it == NULL)
@@ -3602,7 +3611,7 @@
 		&izip_type,
 		&iziplongest_type,
 		&permutations_type,
-		&product_type,         
+		&product_type,
 		&repeat_type,
 		&groupby_type,
 		NULL
