diff --git a/grpc.go b/grpc.go
index ddc978f..a47877e 100644
--- a/grpc.go
+++ b/grpc.go
@@ -123,21 +123,25 @@
 	}()
 	glog.Infof("Listening for GRPC on %v", s.opts.listenAddress)
 
-	httpMux := http.NewServeMux()
-	httpMux.HandleFunc("/debug/status", statusz.StatusHandler)
-	httpMux.HandleFunc("/debug/requests", trace.Traces)
-	httpMux.HandleFunc("/", statusz.StatusHandler)
+	if s.opts.debugAddress == "" {
+		glog.Info("Disabling debug HTTP server")
+	} else {
+		httpMux := http.NewServeMux()
+		httpMux.HandleFunc("/debug/status", statusz.StatusHandler)
+		httpMux.HandleFunc("/debug/requests", trace.Traces)
+		httpMux.HandleFunc("/", statusz.StatusHandler)
 
-	if err := s.setupDebugHTTP(httpMux); err != nil {
-		glog.Exitf("Could not setup HTTP server: %v", err)
-	}
-
-	go func() {
-		if err := s.http.server.Serve(s.http.listen); err != nil {
-			glog.Exitf("Could not start HTTP server: %v", err)
+		if err := s.setupDebugHTTP(httpMux); err != nil {
+			glog.Exitf("Could not setup HTTP server: %v", err)
 		}
-	}()
-	glog.Infof("Listening for HTTP on %v", s.opts.debugAddress)
+
+		go func() {
+			if err := s.http.server.Serve(s.http.listen); err != nil {
+				glog.Exitf("Could not start HTTP server: %v", err)
+			}
+		}()
+		glog.Infof("Listening for HTTP on %v", s.opts.debugAddress)
+	}
 
 	select {}
 }
