diff --git a/app/models/communication/block/template/program.rb b/app/models/communication/block/template/program.rb
index f81d8d185e3ff7d41e0dd8ced61e610faeaf2bb7..e0a66bef0f8edfc9a4ac235e3d37889148677e69 100644
--- a/app/models/communication/block/template/program.rb
+++ b/app/models/communication/block/template/program.rb
@@ -10,4 +10,11 @@ class Communication::Block::Template::Program < Communication::Block::Template::
     @selected_programs ||= elements.map { |element| element.program }.compact
   end
 
+  def allowed_for_about?
+    !website.nil?
+  end
+
+  def available_programs
+    website.education_programs
+  end
 end
diff --git a/app/models/education/diploma.rb b/app/models/education/diploma.rb
index 55fd25040b2a5540fe405f1f8aafbf7b6ea2ea3b..1582e6949cc25d3f814c0430f368095161f8c1d7 100644
--- a/app/models/education/diploma.rb
+++ b/app/models/education/diploma.rb
@@ -53,7 +53,11 @@ class Education::Diploma < ApplicationRecord
   end
 
   def dependencies
-    blocks + programs
+    blocks
+  end
+
+  def references
+    programs
   end
 
   def to_s
diff --git a/app/views/admin/communication/blocks/components/program/_edit.html.erb b/app/views/admin/communication/blocks/components/program/_edit.html.erb
index efb38295f9a51c4d5954f67722d33dd25c3c4ec9..8f09ceb3a55c1a00acb3f806d93fbec465977399 100644
--- a/app/views/admin/communication/blocks/components/program/_edit.html.erb
+++ b/app/views/admin/communication/blocks/components/program/_edit.html.erb
@@ -1,5 +1,5 @@
 <%# TODO: Traduire les formations %>
-<% programs = current_university.programs.ordered %>
+<% programs = @block.template.available_programs %>
 <% if label.present? %>
 <label  class="form-label"
         :for="<%= dom_id.html_safe %>">
diff --git a/test/models/communication/website/connection_test.rb b/test/models/communication/website/connection_test.rb
index 7a1a541720f6bf8cf2e265c1d2f9a3413c2e5cf2..2ffb98bd3c1f2155419222a061ea67251cf41ca0 100644
--- a/test/models/communication/website/connection_test.rb
+++ b/test/models/communication/website/connection_test.rb
@@ -127,15 +127,15 @@ class Communication::Website::ConnectionTest < ActiveSupport::TestCase
     # En connectant l'école au site, on crée une connexion pour :
     # L'école, avec ses formations et ses diplômes en cascade, donc 3 connexions avec direct_source = website
     # En cascade, le save du website va créer les pages de liste des formations et des diplômes, qui ont elles aussi leurs dépendances
-    # La page des diplômes aura en dépendance les diplômes (default_diploma) et leurs formations en cascade (default_program), donc 2 connexions avec direct_source = page diplômes
+    # La page des diplômes aura en dépendance les diplômes (default_diploma), donc 1 connexion avec direct_source = page diplômes
     # La page des formations aura en dépendance les formations (default_program) et leurs diplômes en cascade (default_diploma), donc 2 connexions avec direct_source = page formations
-    # Donc un total de 3 + 2 + 2 = 7 connexions
-    assert_difference -> { Communication::Website::Connection.count } => 7 do
+    # Donc un total de 3 + 1 + 2 = 6 connexions
+    assert_difference -> { Communication::Website::Connection.count } => 6 do
       website_with_github.update(about: default_school)
     end
 
     # En déconnectant l'école du site, on supprime les connexions créées précédemment
-    assert_difference -> { Communication::Website::Connection.count } => -7 do
+    assert_difference -> { Communication::Website::Connection.count } => -6 do
       website_with_github.update(about: nil)
     end
   end