diff --git a/app/controllers/admin/education/programs_controller.rb b/app/controllers/admin/education/programs_controller.rb
index 137c9dfe7a226b644b10b658f9515f8214a55ca2..dd0df83078a31bbd29a09abcead31c72c10e07fa 100644
--- a/app/controllers/admin/education/programs_controller.rb
+++ b/app/controllers/admin/education/programs_controller.rb
@@ -90,8 +90,7 @@ class Admin::Education::ProgramsController < Admin::Education::ApplicationContro
       :featured_image, :featured_image_delete, :featured_image_infos, :featured_image_alt,
       :prerequisites, :objectives, :duration, :registration, :pedagogy,
       :evaluation, :accessibility, :pricing, :contacts, :opportunities, :other,
-      :parent_id, school_ids: [], teacher_ids: [],
-      members_attributes: [:id, :role, :member_id, :_destroy]
+      :parent_id, school_ids: [], teacher_ids: []
     )
   end
 end
diff --git a/app/models/education/program.rb b/app/models/education/program.rb
index 86061134a5b8a00f7a6bcf473b0173309fbd90d2..8afe63998c5f652a2349a8c6886fdf09fb1d6e66 100644
--- a/app/models/education/program.rb
+++ b/app/models/education/program.rb
@@ -61,10 +61,6 @@ class Education::Program < ApplicationRecord
              class_name: 'Education::Program',
              foreign_key: :parent_id,
              dependent: :destroy
-  has_many   :members,
-             class_name: 'Education::Program::Member',
-             dependent: :destroy,
-             inverse_of: :program
   has_and_belongs_to_many :schools,
                           class_name: 'Education::School',
                           join_table: 'education_programs_schools',
@@ -77,8 +73,6 @@ class Education::Program < ApplicationRecord
                           association_foreign_key: 'education_teacher_id'
   has_many :websites, -> { distinct }, through: :schools
 
-  accepts_nested_attributes_for :members, allow_destroy: true
-
   enum level: {
     first_year: 100,
     second_year: 200,
diff --git a/app/models/education/program/member.rb b/app/models/education/program/member.rb
deleted file mode 100644
index 4f635eca4ffa0aa818db89b9a9c03bf86bd656ff..0000000000000000000000000000000000000000
--- a/app/models/education/program/member.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# == Schema Information
-#
-# Table name: education_program_members
-#
-#  id         :uuid             not null, primary key
-#  role       :string
-#  created_at :datetime         not null
-#  updated_at :datetime         not null
-#  member_id  :uuid             not null
-#  program_id :uuid             not null
-#
-# Indexes
-#
-#  index_education_program_members_on_member_id   (member_id)
-#  index_education_program_members_on_program_id  (program_id)
-#
-# Foreign Keys
-#
-#  fk_rails_...  (member_id => university_people.id)
-#  fk_rails_...  (program_id => education_programs.id)
-#
-class Education::Program::Member < ApplicationRecord
-  belongs_to :program, class_name: 'Education::Program', inverse_of: :members
-  belongs_to :member, class_name: 'University::Person'
-end
diff --git a/app/views/admin/education/programs/_form.html.erb b/app/views/admin/education/programs/_form.html.erb
index 89a5b38f773f764a1b078a44aa1bf8e17b3fa209..28c7b68832c60758b2bf395e152f80d5b7399b6f 100644
--- a/app/views/admin/education/programs/_form.html.erb
+++ b/app/views/admin/education/programs/_form.html.erb
@@ -71,33 +71,6 @@
                             as: :check_boxes,
                             collection: current_university.people.teachers.ordered %>
         </div>
-        <div class="card-body">
-          <div id="js-program-members">
-            <p>Membres</p>
-            <%= f.fields_for :members, program.members, wrapper: false do |member_form| %>
-              <div class="row js-program-member fields">
-                <div class="col-md-4">
-                  <%= member_form.input :role, label: false, required: true, placeholder: t('activerecord.attributes.education/program/member.role') %>
-                </div>
-                <div class="col-md-5">
-                  <%
-                  base_members = current_university.people
-                  list_of_members = base_members.administratives.or(base_members.teachers).ordered
-                  %>
-                  <%= member_form.association :member,
-                                              collection: list_of_members,
-                                              include_blank: "Sélectionnez un membre",
-                                              label: false,
-                                              required: true %>
-                </div>
-                <div class="col-md-3">
-                  <%= member_form.link_to_remove "Supprimer", class: button_classes_danger %>
-                </div>
-              </div>
-            <% end %>
-          </div>
-          <p><%= f.link_to_add "Ajouter un membre", :members, class: 'btn btn-xs btn-primary', data: { target: "#js-program-members" } %></p>
-        </div>
       </div>
     </div>
   </div>
diff --git a/db/migrate/20220105145516_remove_education_program_members.rb b/db/migrate/20220105145516_remove_education_program_members.rb
new file mode 100644
index 0000000000000000000000000000000000000000..2d8154d40c07b3d32b9f84f24041973e64749b45
--- /dev/null
+++ b/db/migrate/20220105145516_remove_education_program_members.rb
@@ -0,0 +1,5 @@
+class RemoveEducationProgramMembers < ActiveRecord::Migration[6.1]
+  def change
+    drop_table :education_program_members
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 99307fe0bda31ce7857537415a5e64485cf46048..d7d092b7e3272c731b07f294f7c24ec3fc949fdc 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 2022_01_05_135913) do
+ActiveRecord::Schema.define(version: 2022_01_05_145516) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "pgcrypto"
@@ -347,16 +347,6 @@ ActiveRecord::Schema.define(version: 2022_01_05_135913) do
     t.index ["priority", "run_at"], name: "delayed_jobs_priority"
   end
 
-  create_table "education_program_members", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
-    t.string "role"
-    t.uuid "member_id", null: false
-    t.uuid "program_id", null: false
-    t.datetime "created_at", precision: 6, null: false
-    t.datetime "updated_at", precision: 6, null: false
-    t.index ["member_id"], name: "index_education_program_members_on_member_id"
-    t.index ["program_id"], name: "index_education_program_members_on_program_id"
-  end
-
   create_table "education_programs", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
     t.uuid "university_id", null: false
     t.string "name"
@@ -586,8 +576,6 @@ ActiveRecord::Schema.define(version: 2022_01_05_135913) do
   add_foreign_key "communication_website_posts", "universities"
   add_foreign_key "communication_website_posts", "university_people", column: "author_id"
   add_foreign_key "communication_websites", "universities"
-  add_foreign_key "education_program_members", "education_programs", column: "program_id"
-  add_foreign_key "education_program_members", "university_people", column: "member_id"
   add_foreign_key "education_programs", "education_programs", column: "parent_id"
   add_foreign_key "education_programs", "universities"
   add_foreign_key "education_programs_teachers", "university_people", column: "education_teacher_id"