diff --git a/src/metabase/api/common/internal.clj b/src/metabase/api/common/internal.clj
index 5be9011a93ed64e89dc3c00e07c20f9157210241..37d4dec049bc91e5f2ff594d0d38309a295b7da3 100644
--- a/src/metabase/api/common/internal.clj
+++ b/src/metabase/api/common/internal.clj
@@ -78,7 +78,10 @@
 (defn- dox-for-schema
   "Generate the docstring for `schema` for use in auto-generated API documentation."
   [schema route-str]
-  (try (umd/describe schema)
+  (try
+    ;; we can ignore the warning printed by umd/describe when schema is `nil`.
+    (binding [*out* (new java.io.StringWriter)]
+      (umd/describe schema))
        (catch Exception _
          (ex-data
           (when (and schema config/is-dev?) ;; schema is nil for any var without a schema. That's ok!