diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/livelocation/LiveLocationBeaconContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/livelocation/LiveLocationBeaconContent.kt
index 022176b02d..a3faee0568 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/livelocation/LiveLocationBeaconContent.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/livelocation/LiveLocationBeaconContent.kt
@@ -43,8 +43,7 @@ data class LiveLocationBeaconContent(
         /**
          * Client side tracking of the last location
          */
-        @Transient
-        val lastLocationContent: MessageLiveLocationContent? = null
+        var lastLocationContent: MessageLiveLocationContent? = null
 ) {
 
     fun getBestBeaconInfo() = beaconInfo ?: unstableBeaconInfo
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt
index ed7fc5b721..76e757d895 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt
@@ -552,7 +552,6 @@ internal class EventRelationsAggregationProcessor @Inject constructor(
                                    content: MessageLiveLocationContent,
                                    roomId: String,
                                    isLocalEcho: Boolean) {
-        val beaconInfoEventId = event.getRelationContent()?.eventId ?: return
         val locationSenderId = event.senderId ?: return
 
         // We shouldn't process local echos
@@ -577,6 +576,10 @@ internal class EventRelationsAggregationProcessor @Inject constructor(
             Timber.v("## LIVE LOCATION. Beacon info content is invalid")
             return
         }
+
+        // Update last location info of the beacon state event
+        beaconInfoContent.lastLocationContent = content
+        beaconInfoEntity.root?.content = ContentMapper.map(beaconInfoContent.toContent())
     }
 
     private fun isBeaconInfoOutdated(beaconInfoContent: LiveLocationBeaconContent,