diff --git a/app/models/concerns/with_git.rb b/app/models/concerns/with_git.rb
index 0b6845c2e1381f48f5c50a4c527cc665a2e28ce0..2da1884f0aa962081594b1faf6f41e69ea5e68d6 100644
--- a/app/models/concerns/with_git.rb
+++ b/app/models/concerns/with_git.rb
@@ -84,6 +84,13 @@ module WithGit
     end
   end
 
+  def dependencies_through_blocks(website)
+    # We select all blocks having this object as dependency
+    blocks = website.blocks.select { |block| in? block.git_dependencies }
+    # We map them to their parent object (program, page, etc.)
+    blocks.map(&:about).uniq.compact
+  end
+
   def websites_for_self
     if is_a? Communication::Website
       [self]
diff --git a/app/models/university/organization.rb b/app/models/university/organization.rb
index 9e8a37796ceef160aa30e9facdeeee163b6bdd10..bfc568b5f51d4c7a3fa330c8e555011699db9087 100644
--- a/app/models/university/organization.rb
+++ b/app/models/university/organization.rb
@@ -79,6 +79,7 @@ class University::Organization < ApplicationRecord
       dependencies.concat active_storage_blobs
     end
     dependencies += website.menus.to_a
+    dependencies += dependencies_through_blocks(website) if in_block_dependencies?(website)
     dependencies
   end
 
diff --git a/app/models/university/person.rb b/app/models/university/person.rb
index 6e497a1bf0a4bddec8d4bf6faf999f4961a78f5b..ae8ee83c2424ef43a6aa8c436c82234a5a56cc68 100644
--- a/app/models/university/person.rb
+++ b/app/models/university/person.rb
@@ -172,6 +172,7 @@ class University::Person < ApplicationRecord
     dependencies << researcher if researcher.for_website?(website)
     dependencies << teacher if teacher.for_website?(website)
     dependencies += website.menus.to_a
+    dependencies += dependencies_through_blocks(website) if in_block_dependencies?(website)
     dependencies
   end