diff --git a/Lib/doctest.py b/Lib/doctest.py
index 8bca63d..d47a60f 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -1771,7 +1771,7 @@
 
     Return (#failures, #tests).
 
-    See doctest.__doc__ for an overview.
+    See help(doctest) for an overview.
 
     Optional keyword arg "name" gives the name of the module; by default
     use m.__name__.
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 8f79bc3..33065f5 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -157,7 +157,7 @@
 
     Generator function objects provides same attributes as functions.
 
-    See isfunction.__doc__ for attributes listing."""
+    See help(isfunction) for attributes listing."""
     return bool((isfunction(object) or ismethod(object)) and
                 object.func_code.co_flags & CO_GENERATOR)
 
diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c
index ae358e0..6729c84 100644
--- a/Modules/pwdmodule.c
+++ b/Modules/pwdmodule.c
@@ -98,7 +98,7 @@
 "getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\n\
                   pw_gid,pw_gecos,pw_dir,pw_shell)\n\
 Return the password database entry for the given numeric user ID.\n\
-See pwd.__doc__ for more on password database entries.");
+See help(pwd) for more on password database entries.");
 
 static PyObject *
 pwd_getpwuid(PyObject *self, PyObject *args)
@@ -119,7 +119,7 @@
 "getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\n\
                     pw_gid,pw_gecos,pw_dir,pw_shell)\n\
 Return the password database entry for the given user name.\n\
-See pwd.__doc__ for more on password database entries.");
+See help(pwd) for more on password database entries.");
 
 static PyObject *
 pwd_getpwnam(PyObject *self, PyObject *args)
@@ -141,7 +141,7 @@
 "getpwall() -> list_of_entries\n\
 Return a list of all available password database entries, \
 in arbitrary order.\n\
-See pwd.__doc__ for more on password database entries.");
+See help(pwd) for more on password database entries.");
 
 static PyObject *
 pwd_getpwall(PyObject *self)
diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c
index 3db6e61..a89158e 100644
--- a/Modules/threadmodule.c
+++ b/Modules/threadmodule.c
@@ -756,7 +756,7 @@
 "allocate_lock() -> lock object\n\
 (allocate() is an obsolete synonym)\n\
 \n\
-Create a new lock object.  See LockType.__doc__ for information about locks.");
+Create a new lock object.  See help(LockType) for information about locks.");
 
 static PyObject *
 thread_get_ident(PyObject *self)
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 94e78da..493987a 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -2655,7 +2655,7 @@
     {"__instancecheck__", type___instancecheck__, METH_O,
      PyDoc_STR("__instancecheck__() -> check if an object is an instance")},
     {"__subclasscheck__", type___subclasscheck__, METH_O,
-     PyDoc_STR("__subclasschck__ -> check if an class is a subclass")},
+     PyDoc_STR("__subclasscheck__() -> check if a class is a subclass")},
     {0}
 };
 
@@ -6001,7 +6001,7 @@
            wrap_descr_delete, "descr.__delete__(obj)"),
     FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)wrap_init,
            "x.__init__(...) initializes x; "
-           "see x.__class__.__doc__ for signature",
+           "see help(type(x)) for signature",
            PyWrapperFlag_KEYWORDS),
     TPSLOT("__new__", tp_new, slot_tp_new, NULL, ""),
     TPSLOT("__del__", tp_del, slot_tp_del, NULL, ""),
