diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index b373024..578b6f0 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -1359,7 +1359,6 @@
 	return f;
 }
 
-/* XXX Keep this in synch with open_doc in bltinmodule.c. */
 static char file_doc[] =
 "file(name[, mode[, buffering]]) -> file object\n"
 "\n"
@@ -1369,7 +1368,8 @@
 "opened for writing.  Add a 'b' to the mode for binary files.\n"
 "Add a '+' to the mode to allow simultaneous reading and writing.\n"
 "If the buffering argument is given, 0 means unbuffered, 1 means line\n"
-"buffered, and larger numbers specify the buffer size.";
+"buffered, and larger numbers specify the buffer size.\n"
+"Note:  open() is an alias for file().\n";
 
 PyTypeObject PyFile_Type = {
 	PyObject_HEAD_INIT(&PyType_Type)
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 0c285f6..64afb1b 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1190,25 +1190,6 @@
 
 
 static PyObject *
-builtin_open(PyObject *self, PyObject *args)
-{
-	return PyFile_Type.tp_new(&PyFile_Type, args, NULL);
-}
-
-/* XXX Keep this in synch with file_doc in fileobject.c. */
-static char open_doc[] =
-"open(name[, mode[, buffering]]) -> file object\n"
-"\n"
-"Open a file.  The mode can be 'r', 'w' or 'a' for reading (default),\n"
-"writing or appending.  The file will be created if it doesn't exist\n"
-"when opened for writing or appending; it will be truncated when\n"
-"opened for writing.  Add a 'b' to the mode for binary files.\n"
-"Add a '+' to the mode to allow simultaneous reading and writing.\n"
-"If the buffering argument is given, 0 means unbuffered, 1 means line\n"
-"buffered, and larger numbers specify the buffer size.";
-
-
-static PyObject *
 builtin_ord(PyObject *self, PyObject* obj)
 {
 	long ord;
@@ -1802,7 +1783,6 @@
  	{"max",		builtin_max,        METH_VARARGS, max_doc},
  	{"min",		builtin_min,        METH_VARARGS, min_doc},
  	{"oct",		builtin_oct,        METH_O, oct_doc},
- 	{"open",	builtin_open,       METH_VARARGS, open_doc},
  	{"ord",		builtin_ord,        METH_O, ord_doc},
  	{"pow",		builtin_pow,        METH_VARARGS, pow_doc},
  	{"range",	builtin_range,      METH_VARARGS, range_doc},
@@ -1861,6 +1841,9 @@
 	SETBUILTIN("super",		&PySuper_Type);
 	SETBUILTIN("tuple",		&PyTuple_Type);
 	SETBUILTIN("type",		&PyType_Type);
+
+	/* Note that open() is just an alias of file(). */
+	SETBUILTIN("open",		&PyFile_Type);
 	SETBUILTIN("file",		&PyFile_Type);
 #ifdef Py_USING_UNICODE
 	SETBUILTIN("unicode",		&PyUnicode_Type);
