diff --git a/synapse/__init__.py b/synapse/__init__.py
index 1055f54e004c497d5f3de226725d35562b264ff3..bf102244a98945884a0641ad8a2a5176c8b80630 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -20,7 +20,7 @@
 import os
 import sys
 
-from tests.patch_inline_callbacks import do_patch
+from synapse.util.patch_inline_callbacks import do_patch
 
 # Check that we're not running on an unsupported Python version.
 if sys.version_info < (3, 5):
diff --git a/tests/patch_inline_callbacks.py b/synapse/util/patch_inline_callbacks.py
similarity index 98%
rename from tests/patch_inline_callbacks.py
rename to synapse/util/patch_inline_callbacks.py
index a35a1d3305dd0799af6f8610e5ffe4bc1965e866..4fb49b0b2b8fa951cb8406ff4ee8f2ba016638c2 100644
--- a/tests/patch_inline_callbacks.py
+++ b/synapse/util/patch_inline_callbacks.py
@@ -105,7 +105,7 @@ def do_patch():
 
 
 def _check_yield_points(f, changes, start_context):
-    """Wraps a generator that is about to passed to defer.inlineCallbacks
+    """Wraps a generator that is about to be passed to defer.inlineCallbacks
     checking that after every yield the log contexts are correct.
     """
 
diff --git a/tests/__init__.py b/tests/__init__.py
index f7fc502f018ff0a4b901789ed78e73f55ab73b9a..ed805db1c2d022530a77965a94f676aae179301b 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -16,9 +16,9 @@
 
 from twisted.trial import util
 
-import tests.patch_inline_callbacks
+from synapse.util.patch_inline_callbacks import do_patch
 
 # attempt to do the patch before we load any synapse code
-tests.patch_inline_callbacks.do_patch()
+do_patch()
 
 util.DEFAULT_TIMEOUT_DURATION = 20