diff --git a/src/store/modules/feature.store.js b/src/store/modules/feature.store.js
index 15c1b1aa3c55ce97fef988de4d6939261a7174fb..2b2008fb350187d6019c8774fc542b5f86403795 100644
--- a/src/store/modules/feature.store.js
+++ b/src/store/modules/feature.store.js
@@ -168,9 +168,8 @@ const feature = {
       return axios
         .get(url, { cancelToken: cancelToken.token })
         .then((response) => {
-          if (response.status === 200 && response.data.features) {
-            const feature = response.data.features[0];
-            commit('SET_CURRENT_FEATURE', feature);
+          if (response.status === 200 && response.data) {
+            commit('SET_CURRENT_FEATURE', response.data);
           }
           return response;
         })
diff --git a/src/views/Feature/FeatureEdit.vue b/src/views/Feature/FeatureEdit.vue
index d6bb0427a917aa67eafa90d3df8f01f5f58cbcd0..cbf5be5d5e69d22dd11a6f314d483f3e5314b81b 100644
--- a/src/views/Feature/FeatureEdit.vue
+++ b/src/views/Feature/FeatureEdit.vue
@@ -4,8 +4,9 @@
       <span v-if="feature_type && currentRouteName === 'ajouter-signalement'">      
         Création d'un signalement <small>[{{ feature_type.title }}]</small>
       </span>
-      <span v-else-if="feature && currentRouteName === 'editer-signalement'">
-        Mise à jour du signalement "{{ feature.title || feature.feature_id }}"
+      <span v-else-if="currentFeature && currentRouteName === 'editer-signalement'">
+        Mise à jour du signalement "{{ currentFeature.properties ?
+          currentFeature.properties.title : currentFeature.id }}"
       </span>
       <span v-else-if="feature_type && currentRouteName === 'editer-attribut-signalement'">
         Mise à jour des attributs de {{ checkedFeatures.length }} signalements
@@ -486,10 +487,6 @@ export default {
       return this.$route.name;
     },
 
-    feature() {
-      return this.$store.state.feature.currentFeature;
-    },
-
     orderedCustomFields() {
       return [...this.extra_forms].sort((a, b) => a.position - b.position);
     },
@@ -513,10 +510,10 @@ export default {
     },
 
     allowedStatusChoices() {
-      if (this.project && this.feature && this.user) {
+      if (this.project && this.currentFeature && this.currentFeature.properties && this.user) {
         const isModerate = this.project.moderation;
         const userStatus = this.USER_LEVEL_PROJECTS[this.project.slug];
-        const isOwnFeature = this.feature.creator === this.user.id; //* si le contributeur est l'auteur du signalement
+        const isOwnFeature = this.currentFeature.properties.creator === this.user.id; //* si le contributeur est l'auteur du signalement
         return allowedStatus2change(this.user, isModerate, userStatus, isOwnFeature, this.currentRouteName);
       }
       return [];
@@ -529,7 +526,7 @@ export default {
 
   watch: {
     'form.title.value': function(newValue) {
-      if (newValue.length === 128) {
+      if (newValue && newValue.length === 128) {
         this.form.title.infos.push('Le nombre de caractères et limité à 128.');
       } else {
         this.form.title.infos = [];
@@ -597,18 +594,19 @@ export default {
   methods: {
     initForm() {
       if (this.currentRouteName.includes('editer')) {
-        for (const key in this.feature) {
+        for (const key in this.currentFeature.properties) {
           if (key && this.form[key]) {
             if (key === 'status') {
-              const value = this.feature[key];
+              const value = this.currentFeature.properties[key];
               this.form[key].value = statusChoices.find(
                 (key) => key.value === value
               );
             } else {
-              this.form[key].value = this.feature[key];
+              this.form[key].value = this.currentFeature.properties[key];
             }
           }
         }
+        this.form.geom.value = this.currentFeature.geometry;
         this.updateStore();
       }
     },
@@ -751,7 +749,7 @@ export default {
         status: this.form.status.value,
         description: this.form.description,
         geometry: this.form.geom.value,
-        feature_id: this.feature ? this.feature.feature_id : '',
+        feature_id: this.currentFeature ? this.currentFeature.id : '',
       });
     },
 
@@ -820,12 +818,11 @@ export default {
     },
 
     async postForm(extraForms) {
-      let is_valid = true;
       let response;
-      is_valid =
-        this.checkFormGeom() &&
-        this.checkAddedForm();
-      if (!this.feature_type.title_optional) is_valid = this.checkFormTitle() && is_valid;
+      let is_valid = this.checkFormGeom() && this.checkAddedForm();
+      if (!this.feature_type.title_optional) {
+        is_valid = this.checkFormTitle() && is_valid;
+      }
 
       if (is_valid) {
         //* in a moderate project, at edition of a published feature by someone else than admin or moderator, switch published status to draft.
@@ -875,7 +872,7 @@ export default {
             let newXtForm = { ...extraForm };
             // if value wasn't changed in this page, get back previous value of the feature (rather than using feature orginal form, which is missing information to send in request)
             if (newXtForm.value === null) {
-              newXtForm.value = this.feature.feature_data.find((xtForm) => xtForm.label === newXtForm.label).value;
+              newXtForm.value = this.currentFeature.properties[newXtForm.label];
             }
             newXtraForms.push(newXtForm);
           }
@@ -982,11 +979,8 @@ export default {
               addToMap: true
             });
             if (this.currentRouteName === 'editer-signalement') {
-              const currentFeature = features.filter(
-                (feat) => feat.id === currentFeatureId
-              )[0];
-              editionService.setFeatureToEdit(currentFeature);
-              this.updateMap(currentFeature);
+              editionService.setFeatureToEdit(this.currentFeature);
+              this.updateMap(this.currentFeature);
             }
           }
           this.mapLoading = false;