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 682ac6406c359065c1b530d9baddedcefb42f22d..46999822137503b65350f3ebb3c2771d68ec073f 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/app/views/admin/communication/blocks/components/string/_edit.html.erb b/app/views/admin/communication/blocks/components/string/_edit.html.erb
index 9dc947a2be0bce3ef6d64f9853a8924b1de8832b..6285fb65bc3a5122c0159ec7d238e4bb8107ee7c 100644
--- a/app/views/admin/communication/blocks/components/string/_edit.html.erb
+++ b/app/views/admin/communication/blocks/components/string/_edit.html.erb
@@ -3,7 +3,7 @@
     <label  class="form-label" 
             aria-label="<%= label %>"
             :for="<%= dom_id.html_safe %>">
-      <%= label%>
+      <%= label %>
     </label>
   <% end %>
   <input  :id="<%= dom_id.html_safe %>"
diff --git a/app/views/admin/communication/blocks/templates/partners/_edit.html.erb b/app/views/admin/communication/blocks/templates/partners/_edit.html.erb
index 5296702906c8a3eb104455a4431da40a758aa3e7..a7c372a9be804939728676ff8a1fed700bc683ba 100644
--- a/app/views/admin/communication/blocks/templates/partners/_edit.html.erb
+++ b/app/views/admin/communication/blocks/templates/partners/_edit.html.erb
@@ -10,6 +10,7 @@
     <%= block_component_edit block, :alphabetical %>
   </div>
 </div>
+<%= block_component_add_element t('.add_partner') %>
 <draggable :list="data.elements" class="mb-3 <%= if_appstack 'list-group' %>" handle=".partnerHandle">
   <div v-for="(element, index) in data.elements" class="draggable-item <%= if_appstack 'list-group-item' %>">
     <div class="d-flex mb-n3">
@@ -42,4 +43,6 @@
     </div>
   </div>
 </draggable>
-<%= block_component_add_element block, t('.add_partner') %>
+<div v-show="data.elements.length > 2">
+  <%= block_component_add_element t('.add_partner') %>
+</div>
diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml
index 3c3c03fca78be80d4c77a5bc6ab810b7e135658b..60541c2c4ab8533af2570e2d5691366c70751aad 100644
--- a/config/locales/communication/en.yml
+++ b/config/locales/communication/en.yml
@@ -536,16 +536,17 @@ en:
               element:
                 id:
                   label: Organization
-                  name:
-                    label: Nom
-                    placeholder: Enter organization's name
-                    url:
-                      label: Website
-                      logo_label: Logo
-                      placeholder: https://
-                      remove_logo: Remove logo
                   placeholder: Choose organization
                   unregistered: Unregistered organization
+                name:
+                  label: Nom
+                  placeholder: Enter organization's name
+                url:
+                  label: Website
+                  placeholder: https://
+                logo:
+                  label: Logo
+                  remove_logo: Remove logo
               remove_partner: Remove organization
               with_link:
                 label: With clickable link to each organization's page?
diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml
index 5cda1ef34dfe43b192d81d46a030e8a8a3fd2757..bb205b1082f21972534888f87d41d7a6815bcb47 100644
--- a/config/locales/communication/fr.yml
+++ b/config/locales/communication/fr.yml
@@ -536,16 +536,17 @@ fr:
               element:
                 id:
                   label: Organisation
-                  name:
-                    label: Nom
-                    placeholder: Entrer le nom du partenaire
-                    url:
-                      label: Site Web
-                      logo_label: Logo
-                      placeholder: https://
-                      remove_logo: Enlever le logo
                   placeholder: Choisir l'organisation
                   unregistered: Organisation non enregistrée
+                name:
+                  label: Nom
+                  placeholder: Entrer le nom du partenaire
+                url:
+                  label: Site Web
+                  placeholder: https://
+                logo:
+                  label: Logo
+                  remove_logo: Enlever le logo
               remove_partner: Enlever le partenaire
               with_link:
                 label: Avec des liens cliquables vers les pages des organisations?
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