diff --git a/docs/ref/urls.txt b/docs/ref/urls.txt
index c54b1e4cab..3420a41be4 100644
--- a/docs/ref/urls.txt
+++ b/docs/ref/urls.txt
@@ -94,8 +94,9 @@ A callable, or a string representing the full Python import path to the view
 that should be called if the HTTP client has sent a request that caused an error
 condition and a response with a status code of 400.
 
-By default, this is ``'django.views.defaults.bad_request'``. That default
-value should suffice.
+By default, this is ``'django.views.defaults.bad_request'``. If you
+implement a custom view, be sure it returns an
+:class:`~django.http.HttpResponseBadRequest`.
 
 See the documentation about :ref:`the 400 (bad request) view
 <http_bad_request_view>` for more information.
@@ -109,8 +110,9 @@ A callable, or a string representing the full Python import path to the view
 that should be called if the user doesn't have the permissions required to
 access a resource.
 
-By default, this is ``'django.views.defaults.permission_denied'``. That default
-value should suffice.
+By default, this is ``'django.views.defaults.permission_denied'``. If you
+implement a custom view, be sure it returns an
+:class:`~django.http.HttpResponseForbidden`.
 
 See the documentation about :ref:`the 403 (HTTP Forbidden) view
 <http_forbidden_view>` for more information.
@@ -123,8 +125,9 @@ handler404
 A callable, or a string representing the full Python import path to the view
 that should be called if none of the URL patterns match.
 
-By default, this is ``'django.views.defaults.page_not_found'``. That default
-value should suffice.
+By default, this is ``'django.views.defaults.page_not_found'``. If you
+implement a custom view, be sure it returns an
+:class:`~django.http.HttpResponseNotFound`.
 
 See the documentation about :ref:`the 404 (HTTP Not Found) view
 <http_not_found_view>` for more information.
@@ -138,8 +141,9 @@ A callable, or a string representing the full Python import path to the view
 that should be called in case of server errors. Server errors happen when you
 have runtime errors in view code.
 
-By default, this is ``'django.views.defaults.server_error'``. That default
-value should suffice.
+By default, this is ``'django.views.defaults.server_error'``. If you
+implement a custom view, be sure it returns an
+:class:`~django.http.HttpResponseServerError`.
 
 See the documentation about :ref:`the 500 (HTTP Internal Server Error) view
 <http_internal_server_error_view>` for more information.
diff --git a/docs/releases/1.9.txt b/docs/releases/1.9.txt
index c01ca94ec4..35c673b4f1 100644
--- a/docs/releases/1.9.txt
+++ b/docs/releases/1.9.txt
@@ -1147,6 +1147,12 @@ Miscellaneous
   * ``ForeignRelatedObjectsDescriptor`` is ``ReverseManyToOneDescriptor``
   * ``ManyRelatedObjectsDescriptor`` is ``ManyToManyDescriptor``
 
+* If you implement a custom :data:`~django.conf.urls.handler404` view, it must
+  return a response with an HTTP 404 status code. Use
+  :class:`~django.http.HttpResponseNotFound` or pass ``status=404`` to the
+  :class:`~django.http.HttpResponse`. Otherwise, :setting:`APPEND_SLASH` won't
+  work correctly with ``DEBUG=False``.
+
 .. _deprecated-features-1.9:
 
 Features deprecated in 1.9