diff --git a/changelog.d/5340.bugfix b/changelog.d/5340.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..931ee904e1414b58efcedff487ab6e6a3007f961
--- /dev/null
+++ b/changelog.d/5340.bugfix
@@ -0,0 +1,2 @@
+Fix a bug where we could rapidly mark a server as unreachable even though it was only down for a few minutes.
+
diff --git a/synapse/util/retryutils.py b/synapse/util/retryutils.py
index f6dfa77d8fde70323b9effb98a108704baa2654e..1a77456498ac2ae5cfc735046b4b6f8c68f54160 100644
--- a/synapse/util/retryutils.py
+++ b/synapse/util/retryutils.py
@@ -97,7 +97,12 @@ def get_retry_limiter(destination, clock, store, ignore_backoff=False, **kwargs)
 
     defer.returnValue(
         RetryDestinationLimiter(
-            destination, clock, store, retry_interval, backoff_on_failure, **kwargs
+            destination,
+            clock,
+            store,
+            retry_interval,
+            backoff_on_failure=backoff_on_failure,
+            **kwargs
         )
     )