diff --git a/app/models/concerns/with_dependencies.rb b/app/models/concerns/with_dependencies.rb
index 5b8526ead1a1afcb9c2920b6bb7add7cdce2320d..03129bd162638dea6b7fab1ab4b51e19d1498d0c 100644
--- a/app/models/concerns/with_dependencies.rb
+++ b/app/models/concerns/with_dependencies.rb
@@ -56,13 +56,13 @@ module WithDependencies
   end
 
   protected
-  
+
   # Si l'objet est déjà là, on ne doit pas l'ajouter
   # Si l'objet n'est pas syncable, on ne doit pas l'ajouter non plus
   def dependency_should_be_added?(array, dependency, syncable_only)
     !dependency.in?(array) && dependency_should_be_synced?(dependency, syncable_only)
   end
-  
+
   # Si on n'est pas en syncable only on liste tout, sinon, il faut analyser
   def dependency_should_be_synced?(dependency, syncable_only)
     !syncable_only || (dependency.respond_to?(:syncable?) && dependency.syncable?)
@@ -84,15 +84,18 @@ module WithDependencies
   end
 
   def clean_websites
+    # Les objets directs et les objets indirects (et les websites) répondent !
     return unless respond_to?(:is_direct_object?)
-    
-    if is_direct_object?
+    websites_to_clean.each do |website|
+      website.destroy_obsolete_connections
       website.destroy_obsolete_git_files
-    elsif is_indirect_object?
-      websites.each(&:destroy_obsolete_git_files)
     end
   end
 
+  def websites_to_clean
+    is_direct_object? ? [website] : websites
+  end
+
   def missing_dependencies_after_save
     @previous_dependencies - reloaded_recursive_dependencies_syncable_filtered
   end