diff --git a/src/components/feature/FeatureListTable.vue b/src/components/feature/FeatureListTable.vue
index f9fc303eda1d4d5745921d7bcc3a042ce86139ab..c2b6b4dc0ad08252416c0236c6dc04297d37fb3d 100644
--- a/src/components/feature/FeatureListTable.vue
+++ b/src/components/feature/FeatureListTable.vue
@@ -343,6 +343,10 @@ export default {
     ...mapState(['user', 'USER_LEVEL_PROJECTS']),
     ...mapState('projects', ['project']),
 
+    userStatus() {
+      return this.USER_LEVEL_PROJECTS[this.project.slug];
+    },
+
     checked: {
       get() {
         return this.checkedFeatures;
@@ -390,6 +394,7 @@ export default {
       return this.pageNumbers.slice(firstPageInList, firstPageInList + pagesQuantity);
     },
   },
+
   destroyed() {
     this.$store.commit('feature/UPDATE_CHECKED_FEATURES', []);
   },
@@ -400,25 +405,23 @@ export default {
     },
 
     canDeleteFeature(feature) {
-      return feature.properties.creator.username !== this.user.username &&
-                  !this.user.is_superuser &&
-                  !this.permissions.is_project_administrator;
+      if (this.userStatus === 'Administrateur projet') return true; //* can delete all
+      //* others can delete only their own features
+      return feature.properties.creator.username === this.user.username;
     },
 
     canEditFeature(feature) {
-      const userStatus = this.USER_LEVEL_PROJECTS[this.project.slug];
-      const access = {
+      const permissions = {
         'Administrateur projet' : ['draft', 'published', 'archived'],
-        Modérateur : ['pending'],
-        'Super Contributeur' : ['draft', this.project.moderation ? 'pending' : 'published'],
-        Contributeur : ['draft', this.project.moderation ? 'pending' : 'published'],
+        Modérateur : ['pending', 'published'],
+        'Super Contributeur' : ['draft', 'pending', 'published'],
+        Contributeur : ['draft', 'pending', 'published'],
       };
 
-      //if (userStatus === "Super Contributeur" || userStatus === "Contributeur") { //? should super contributeur behave the same, I don't think so
-      if (userStatus === 'Contributeur' && feature.properties.creator.username !== this.user.username) {
+      if (this.userStatus === 'Contributeur' && feature.properties.creator.username !== this.user.username) {
         return false;
-      } else if (access[userStatus]) {
-        return access[userStatus].includes(feature.properties.status.value);
+      } else if (permissions[this.userStatus]) {
+        return permissions[this.userStatus].includes(feature.properties.status.value);
       } else {
         return false;
       }
diff --git a/src/views/feature/Feature_list.vue b/src/views/feature/Feature_list.vue
index eb359d3c0601fe00cc197e219fc05b577bc712e1..f06b02453318f4bc1952c518f805eacb02947ac9 100644
--- a/src/views/feature/Feature_list.vue
+++ b/src/views/feature/Feature_list.vue
@@ -147,12 +147,12 @@
               v-model="form.title"
               type="text"
               name="title"
-              @keyup.enter="fetchPagedFeatures"
+              @keyup.enter="resetPaginationNfetchFeatures"
             >
             <button
               id="submit-search"
               class="ui teal icon button"
-              @click="fetchPagedFeatures"
+              @click="resetPaginationNfetchFeatures"
             >
               <i class="search icon" />
             </button>
@@ -399,10 +399,10 @@ export default {
 
   watch: {
     'form.type.selected'() {
-      this.fetchPagedFeatures();
+      this.resetPaginationNfetchFeatures();
     },
     'form.status.selected.value'() {
-      this.fetchPagedFeatures();
+      this.resetPaginationNfetchFeatures();
     },
     map(newValue) {
       if (newValue && this.paginatedFeatures && this.paginatedFeatures.length) {
@@ -681,6 +681,16 @@ export default {
         });
     },
 
+    resetPaginationNfetchFeatures() {
+      this.pagination = {
+        currentPage: 1,
+        pagesize: 15,
+        start: 0,
+        end: 15,
+      },
+      this.fetchPagedFeatures();
+    },
+
     //* Pagination for table *//
 
     handlePageChange(page) {