diff --git a/changelog.d/6329.bugfix b/changelog.d/6329.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..e558d13b7d593e5f9395afeb12b64497c5025039
--- /dev/null
+++ b/changelog.d/6329.bugfix
@@ -0,0 +1 @@
+Correctly apply the event filter to the `state`, `events_before` and `events_after` fields in the response to `/context` requests.
\ No newline at end of file
diff --git a/changelog.d/6329.feature b/changelog.d/6329.feature
deleted file mode 100644
index c27dbb06a482490730c375f8bee82c0a61b036f9..0000000000000000000000000000000000000000
--- a/changelog.d/6329.feature
+++ /dev/null
@@ -1 +0,0 @@
-Filter `state`, `events_before` and `events_after` in `/context` requests.
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 3148df0de9297dc09a3556c0db832b815b0cbde3..fd3ea8daf80d842e6dfe2a340adc59fd0bf170b9 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -908,12 +908,11 @@ class RoomContextHandler(object):
             [last_event_id], state_filter=state_filter
         )
 
-        # Apply the filter on state events.
         state_events = list(state[last_event_id].values())
         if event_filter:
             state_events = event_filter.filter(state_events)
 
-        results["state"] = list(state_events)
+        results["state"] = state_events
 
         # We use a dummy token here as we only care about the room portion of
         # the token, which we replace.