diff --git a/src/api/client_server/directory.rs b/src/api/client_server/directory.rs
index a812dbcc9f617cdd52b912130c7018a4d8412291..50ae9f15738b22ba050bd20f1db91c8651ffc5ed 100644
--- a/src/api/client_server/directory.rs
+++ b/src/api/client_server/directory.rs
@@ -221,6 +221,7 @@ pub(crate) async fn get_public_rooms_filtered_helper(
                         serde_json::from_str(s.content.get())
                             .map(|c: RoomTopicEventContent| Some(c.topic))
                             .map_err(|_| {
+                                error!("Invalid room topic event in database for room {}", room_id);
                                 Error::bad_database("Invalid room topic event in database.")
                             })
                     })?,
diff --git a/src/service/rooms/spaces/mod.rs b/src/service/rooms/spaces/mod.rs
index e92fc07b6b5569b5d9a4fe5cb35c55fa2bfe263d..9b57d53bf03a6476107e67a55ca3fa46addb0c59 100644
--- a/src/service/rooms/spaces/mod.rs
+++ b/src/service/rooms/spaces/mod.rs
@@ -326,7 +326,10 @@ fn get_room_chunk(
                 .map_or(Ok(None), |s| {
                     serde_json::from_str(s.content.get())
                         .map(|c: RoomTopicEventContent| Some(c.topic))
-                        .map_err(|_| Error::bad_database("Invalid room topic event in database."))
+                        .map_err(|_| {
+                            error!("Invalid room topic event in database for room {}", room_id);
+                            Error::bad_database("Invalid room topic event in database.")
+                        })
                 })?,
             world_readable: services()
                 .rooms