diff --git a/changelog.d/16729.bugfix b/changelog.d/16729.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..50e72ac1f81748ed865e9644917adb89aa91788c
--- /dev/null
+++ b/changelog.d/16729.bugfix
@@ -0,0 +1 @@
+Fix GET /_synapse/admin/v1/federation/destinations returning null (instead of 0) for `retry_last_ts` and `retry_interval`.
diff --git a/synapse/rest/admin/federation.py b/synapse/rest/admin/federation.py
index a6ce787da1afed4304ed4473f1e0649ac1b982ae..2f238f021776bfd8c9a496468c59a7dbb8177ba4 100644
--- a/synapse/rest/admin/federation.py
+++ b/synapse/rest/admin/federation.py
@@ -89,8 +89,8 @@ class ListDestinationsRestServlet(RestServlet):
             "destinations": [
                 {
                     "destination": r[0],
-                    "retry_last_ts": r[1],
-                    "retry_interval": r[2],
+                    "retry_last_ts": r[1] or 0,
+                    "retry_interval": r[2] or 0,
                     "failure_ts": r[3],
                     "last_successful_stream_ordering": r[4],
                 }