diff --git a/src/components/Element/DetailsPanel.vue b/src/components/Element/DetailsPanel.vue
index 5896916d1335f6134e5422bff9d7b47a34a46186..e293853a344ef3f8322415e42651ecf681056c71 100644
--- a/src/components/Element/DetailsPanel.vue
+++ b/src/components/Element/DetailsPanel.vue
@@ -216,12 +216,7 @@ export default defineComponent({
          * or some element attributes are not displayed at all.
          */
         if (!this.element || this.element.id !== id || !this.element.rights || !this.element.classifications) this.retrieveElement({ id })
-      }
-    },
-    datasets: {
-      immediate: true,
-      async handler (value) {
-        if (value === null) this.listElementDatasets({ eltId: this.elementId })
+        if (!Array.isArray(this.elementDatasets[id])) this.listElementDatasets({ eltId: id })
       }
     },
     selectedNewClassification () {