diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py
index 2979a83524fca6c49b2fd75d5243cb6e95dd3c99..9125bb1198bc42223f859a43bd92a5919deab500 100644
--- a/synapse/storage/_base.py
+++ b/synapse/storage/_base.py
@@ -25,6 +25,7 @@ import synapse.metrics
 from twisted.internet import defer
 
 from collections import namedtuple, OrderedDict
+import functools
 import simplejson as json
 import sys
 import time
@@ -81,6 +82,7 @@ def cached(max_entries=1000):
 
             cache[key] = value
 
+        @functools.wraps(orig)
         @defer.inlineCallbacks
         def wrapped(self, key):
             if key in cache: