diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py
index e53630a68928685d5e593bae15a9ef39d6a0d949..2552a74f85a848c6671fcf30b7a94a0288ee1dd4 100644
--- a/synapse/storage/_base.py
+++ b/synapse/storage/_base.py
@@ -100,8 +100,7 @@ def cached(max_entries=1000, num_args=1):
             cache_counter.inc_misses(name)
             ret = yield orig(self, *keyargs)
 
-            prefill_args = keyargs + (ret,)
-            prefill(*prefill_args)
+            prefill(*keyargs + (ret,))
 
             defer.returnValue(ret)