diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index cf47c30..ef3eac8 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -191,6 +191,10 @@
 static PyObject *
 builtin_callable(PyObject *self, PyObject *v)
 {
+	if (Py_Py3kWarningFlag &&
+	    PyErr_Warn(PyExc_DeprecationWarning, 
+		       "callable() not supported in 3.x") < 0)
+		return NULL;
 	return PyBool_FromLong((long)PyCallable_Check(v));
 }
 
@@ -389,6 +393,11 @@
 	PyObject *v, *w;
 	PyObject *res;
 
+	if (Py_Py3kWarningFlag &&
+	    PyErr_Warn(PyExc_DeprecationWarning, 
+		       "coerce() not supported in 3.x") < 0)
+		return NULL;
+
 	if (!PyArg_UnpackTuple(args, "coerce", 2, 2, &v, &w))
 		return NULL;
 	if (PyNumber_Coerce(&v, &w) < 0)
@@ -631,6 +640,11 @@
 	PyCompilerFlags cf;
 	int exists;
 
+	if (Py_Py3kWarningFlag &&
+	    PyErr_Warn(PyExc_DeprecationWarning, 
+		       "execfile() not supported in 3.x") < 0)
+		return NULL;
+
 	if (!PyArg_ParseTuple(args, "s|O!O:execfile",
 			&filename,
 			&PyDict_Type, &globals,
@@ -1800,6 +1814,11 @@
 {
 	PyObject *seq, *func, *result = NULL, *it;
 
+	if (Py_Py3kWarningFlag &&
+	    PyErr_Warn(PyExc_DeprecationWarning, 
+		       "reduce() not supported in 3.x") < 0)
+		return NULL;
+
 	if (!PyArg_UnpackTuple(args, "reduce", 2, 3, &func, &seq, &result))
 		return NULL;
 	if (result != NULL)
@@ -1872,6 +1891,11 @@
 static PyObject *
 builtin_reload(PyObject *self, PyObject *v)
 {
+	if (Py_Py3kWarningFlag &&
+	    PyErr_Warn(PyExc_DeprecationWarning, 
+		       "reload() not supported in 3.x") < 0)
+		return NULL;
+
 	return PyImport_ReloadModule(v);
 }
 
