diff --git a/httpbin/handlers.go b/httpbin/handlers.go
index a212a085f65c44b3c2e69187137324f056ff23cb..fb27c4b489cae252572d3825040e2ffb1ec6b172 100644
--- a/httpbin/handlers.go
+++ b/httpbin/handlers.go
@@ -21,6 +21,10 @@ var acceptedMediaTypes = []string{
 	"image/",
 }
 
+func notImplementedHandler(w http.ResponseWriter, r *http.Request) {
+	http.Error(w, "Not implemented", http.StatusNotImplemented)
+}
+
 // Index renders an HTML index page
 func (h *HTTPBin) Index(w http.ResponseWriter, r *http.Request) {
 	if r.URL.Path != "/" {
@@ -383,18 +387,6 @@ func (h *HTTPBin) HiddenBasicAuth(w http.ResponseWriter, r *http.Request) {
 	writeJSON(w, body, http.StatusOK)
 }
 
-// DigestAuth is not yet implemented, and returns 501 Not Implemented. It
-// appears that stdlib support for working with digest authentication is
-// lacking, and I'm not yet ready to implement it myself.
-func (h *HTTPBin) DigestAuth(w http.ResponseWriter, r *http.Request) {
-	parts := strings.Split(r.URL.Path, "/")
-	if len(parts) != 5 {
-		http.Error(w, "Not Found", http.StatusNotFound)
-		return
-	}
-	http.Error(w, "Not Implemented", http.StatusNotImplemented)
-}
-
 // Stream responds with max(n, 100) lines of JSON-encoded request data.
 func (h *HTTPBin) Stream(w http.ResponseWriter, r *http.Request) {
 	parts := strings.Split(r.URL.Path, "/")
diff --git a/httpbin/handlers_test.go b/httpbin/handlers_test.go
index 81ed47638a2599741eda797df62c0950fcb9d757..d08e38298a64408240ee23d29d6684b862c3d63b 100644
--- a/httpbin/handlers_test.go
+++ b/httpbin/handlers_test.go
@@ -1075,11 +1075,11 @@ func TestDigestAuth(t *testing.T) {
 		url    string
 		status int
 	}{
-		{"/digest-auth/qop/user/pass", http.StatusNotImplemented},
 		{"/digest-auth", http.StatusNotFound},
-		{"/digest-auth/user", http.StatusNotFound},
-		{"/digest-auth/user/pass", http.StatusNotFound},
-		{"/digest-auth/qop/user/pass/foo", http.StatusNotFound},
+		{"/digest-auth/qop/user/pass", http.StatusNotImplemented},
+		{"/digest-auth/user", http.StatusNotImplemented},
+		{"/digest-auth/user/pass", http.StatusNotImplemented},
+		{"/digest-auth/qop/user/pass/foo", http.StatusNotImplemented},
 	}
 	for _, test := range tests {
 		t.Run("ok"+test.url, func(t *testing.T) {
diff --git a/httpbin/httpbin.go b/httpbin/httpbin.go
index 827c82bf046feb7f37f3c2aa23d46b2b65b78661..8e835cb748403eaf7c0353d9f8936305791129b6 100644
--- a/httpbin/httpbin.go
+++ b/httpbin/httpbin.go
@@ -112,7 +112,6 @@ func (h *HTTPBin) Handler() http.Handler {
 
 	mux.HandleFunc("/basic-auth/", h.BasicAuth)
 	mux.HandleFunc("/hidden-basic-auth/", h.HiddenBasicAuth)
-	mux.HandleFunc("/digest-auth/", h.DigestAuth)
 
 	mux.HandleFunc("/deflate", h.Deflate)
 	mux.HandleFunc("/gzip", h.Gzip)
@@ -139,6 +138,9 @@ func (h *HTTPBin) Handler() http.Handler {
 	mux.HandleFunc("/image/", h.Image)
 	mux.HandleFunc("/xml", h.XML)
 
+	// Not implemented
+	mux.HandleFunc("/digest-auth/", notImplementedHandler)
+
 	// Make sure our ServeMux doesn't "helpfully" redirect these invalid
 	// endpoints by adding a trailing slash. See the ServeMux docs for more
 	// info: https://golang.org/pkg/net/http/#ServeMux