diff --git a/x-pack/plugins/lens/public/editor_frame_service/embeddable/embeddable.tsx b/x-pack/plugins/lens/public/editor_frame_service/embeddable/embeddable.tsx
index 8139631daa971..5908b87c37845 100644
--- a/x-pack/plugins/lens/public/editor_frame_service/embeddable/embeddable.tsx
+++ b/x-pack/plugins/lens/public/editor_frame_service/embeddable/embeddable.tsx
@@ -154,6 +154,15 @@ export class Embeddable
   }
 
   onContainerStateChanged(containerState: LensEmbeddableInput) {
+    if (
+      this.savedVis &&
+      (containerState as LensByReferenceInput).savedObjectId !== this.savedVis.savedObjectId
+    ) {
+      this.initializeSavedVis(containerState).then(() =>
+        this.onContainerStateChanged(containerState)
+      );
+      return;
+    }
     const cleanedFilters = containerState.filters
       ? containerState.filters.filter((filter) => !filter.meta.disabled)
       : undefined;