diff --git a/changes/changelog.d/1427.bugfix b/changes/changelog.d/1427.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..a017d9eb93cd48ff7bae906f3061e03cbba005be
--- /dev/null
+++ b/changes/changelog.d/1427.bugfix
@@ -0,0 +1 @@
+Only suggest typed tag once if it already exists
diff --git a/front/src/components/library/TagsSelector.vue b/front/src/components/library/TagsSelector.vue
index 2084daceb5456fe4a07996e33f6086280558a37f..c19a5ece48521faa6d18749b3c9b1bee95a17f7c 100644
--- a/front/src/components/library/TagsSelector.vue
+++ b/front/src/components/library/TagsSelector.vue
@@ -52,7 +52,16 @@ export default {
               ...response,
             }
             if (currentSearch) {
-              response.results = [{name: currentSearch}, ...response.results]
+              let existingTag = response.results.find((result) => result.name === currentSearch)
+              if (existingTag) {
+                if (response.results.indexOf(existingTag) !== 0) {
+                  response.results = [existingTag, ...response.results]
+                  response.results.splice(response.results.indexOf(existingTag) + 1, 1)
+                }
+              }
+              else {
+                response.results = [{name: currentSearch}, ...response.results]
+              }
             }
             return response
           }