diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx
index a73082129b..b9150624fe 100644
--- a/src/components/structures/RoomView.tsx
+++ b/src/components/structures/RoomView.tsx
@@ -534,8 +534,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
         const roomId = this.context.roomViewStore.getRoomId();
         const room = this.context.client.getRoom(roomId);
 
-        // This convoluted type signature ensures we get IntelliSense *and* correct typing
-        const newState: Partial<IRoomState> & Pick<IRoomState, any> = {
+        const newState: Partial<IRoomState> = {
             roomId,
             roomAlias: this.context.roomViewStore.getRoomAlias(),
             roomLoading: this.context.roomViewStore.isRoomLoading(),
@@ -679,11 +678,15 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
 
         // Clear the search results when clicking a search result (which changes the
         // currently scrolled to event, this.state.initialEventId).
-        if (this.state.initialEventId !== newState.initialEventId) {
-            newState.searchResults = null;
+        if (this.state.timelineRenderingType === TimelineRenderingType.Search &&
+            this.state.initialEventId !== newState.initialEventId
+        ) {
+            newState.timelineRenderingType = TimelineRenderingType.Room;
+            this.state.search?.abortController?.abort();
+            newState.search = undefined;
         }
 
-        this.setState(newState);
+        this.setState(newState as IRoomState);
         // At this point, newState.roomId could be null (e.g. the alias might not
         // have been resolved yet) so anything called here must handle this case.
 
diff --git a/test/components/structures/SearchRoomView-test.tsx b/test/components/structures/RoomSearchView-test.tsx
similarity index 99%
rename from test/components/structures/SearchRoomView-test.tsx
rename to test/components/structures/RoomSearchView-test.tsx
index c3b07a148c..941b933015 100644
--- a/test/components/structures/SearchRoomView-test.tsx
+++ b/test/components/structures/RoomSearchView-test.tsx
@@ -38,7 +38,7 @@ jest.mock("../../../src/Searching", () => ({
     searchPagination: jest.fn(),
 }));
 
-describe("<SearchRoomView/>", () => {
+describe("<RoomSearchView/>", () => {
     const eventMapper = (obj: Partial<IEvent>) => new MatrixEvent(obj);
     const resizeNotifier = new ResizeNotifier();
     let client: MatrixClient;