diff --git a/app/models/concerns/with_permalink.rb b/app/models/concerns/with_permalink.rb
index 37fa6d0bf865851a04fc37b66795e3b8bb49be47..d9a06e5ec3eee13a89ed5583c122d658e6ad6a7f 100644
--- a/app/models/concerns/with_permalink.rb
+++ b/app/models/concerns/with_permalink.rb
@@ -24,9 +24,8 @@ module WithPermalink
 
     # If the object had no permalink or if its path changed, we create a new permalink
     if new_permalink.computed_path.present? && (last_permalink.nil? || last_permalink.path != new_permalink.computed_path)
-      last_permalink&.update(is_current: false)
       new_permalink.path = new_permalink.computed_path
-      new_permalink.save
+      last_permalink&.update(is_current: false) if new_permalink.save
     end
   end