diff --git a/app/finders/projects/members/effective_access_level_finder.rb b/app/finders/projects/members/effective_access_level_finder.rb
index d17609ff59ff65f20b388778a6bcb600f6fe7efc..4538fc4c8554e7a07a4d1c50bf9d3bf289bd2dd6 100644
--- a/app/finders/projects/members/effective_access_level_finder.rb
+++ b/app/finders/projects/members/effective_access_level_finder.rb
@@ -40,7 +40,7 @@ def all_possible_avenues_of_membership
         avenues = [authorizable_project_members]
 
         avenues << if project.personal?
-                     project_owner
+                     project_owner_acting_as_maintainer
                    else
                      authorizable_group_members
                    end
@@ -85,15 +85,9 @@ def members_from_project_group_shares
         Member.from_union(members)
       end
 
-      # workaround until we migrate Project#owners to have membership with
-      # OWNER access level
-      def project_owner
+      def project_owner_acting_as_maintainer
         user_id = project.namespace.owner.id
-        access_level = if ::Feature.enabled?(:personal_project_owner_with_owner_access, default_enabled: :yaml)
-                         Gitlab::Access::OWNER
-                       else
-                         Gitlab::Access::MAINTAINER
-                       end
+        access_level = Gitlab::Access::MAINTAINER
 
         Member
           .from(generate_from_statement([[user_id, access_level]])) # rubocop: disable CodeReuse/ActiveRecord
diff --git a/app/models/concerns/select_for_project_authorization.rb b/app/models/concerns/select_for_project_authorization.rb
index e176e29f9d9163eac7545d13a32fc706cef4ed84..49342e30db62c0d6554a8f373bb930bbaa9a2a88 100644
--- a/app/models/concerns/select_for_project_authorization.rb
+++ b/app/models/concerns/select_for_project_authorization.rb
@@ -8,14 +8,8 @@ def select_for_project_authorization
       select("projects.id AS project_id", "members.access_level")
     end
 
-    # workaround until we migrate Project#owners to have membership with
-    # OWNER access level
-    def select_project_owner_for_project_authorization
-      if ::Feature.enabled?(:personal_project_owner_with_owner_access, default_enabled: :yaml)
-        select(["projects.id AS project_id", "#{Gitlab::Access::OWNER} AS access_level"])
-      else
-        select(["projects.id AS project_id", "#{Gitlab::Access::MAINTAINER} AS access_level"])
-      end
+    def select_as_maintainer_for_project_authorization
+      select(["projects.id AS project_id", "#{Gitlab::Access::MAINTAINER} AS access_level"])
     end
   end
 end
diff --git a/app/models/project.rb b/app/models/project.rb
index 87913d53280dca8e64adcc66b74aa5ceba1eb7d9..512c6ac1acb36dcc7288d2e18f6c025304bf772a 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -459,7 +459,7 @@ def self.integration_association_name(name)
   delegate :name, to: :owner, allow_nil: true, prefix: true
   delegate :members, to: :team, prefix: true
   delegate :add_user, :add_users, to: :team
-  delegate :add_guest, :add_reporter, :add_developer, :add_maintainer, :add_owner, :add_role, to: :team
+  delegate :add_guest, :add_reporter, :add_developer, :add_maintainer, :add_role, to: :team
   delegate :group_runners_enabled, :group_runners_enabled=, to: :ci_cd_settings, allow_nil: true
   delegate :root_ancestor, to: :namespace, allow_nil: true
   delegate :last_pipeline, to: :commit, allow_nil: true
diff --git a/app/models/project_team.rb b/app/models/project_team.rb
index ee5ecc2dd3c614b44921ccea38735520860d77d5..c3c7508df9f391462dcc96c174e4111e2e666e12 100644
--- a/app/models/project_team.rb
+++ b/app/models/project_team.rb
@@ -23,10 +23,6 @@ def add_maintainer(user, current_user: nil)
     add_user(user, :maintainer, current_user: current_user)
   end
 
-  def add_owner(user, current_user: nil)
-    add_user(user, :owner, current_user: current_user)
-  end
-
   def add_role(user, role, current_user: nil)
     public_send(:"add_#{role}", user, current_user: current_user) # rubocop:disable GitlabSecurity/PublicSend
   end
@@ -107,9 +103,7 @@ def owners
       if group
         group.owners
       else
-        # workaround until we migrate Project#owners to have membership with
-        # OWNER access level
-        Array.wrap(fetch_members(Gitlab::Access::OWNER)) | Array.wrap(project.owner)
+        [project.owner]
       end
   end
 
diff --git a/app/services/members/projects/creator_service.rb b/app/services/members/projects/creator_service.rb
index 4dba81acf73acd13fa5d1320626975c17b5c9a7e..2e97417707523700f701861f2458372025f7337e 100644
--- a/app/services/members/projects/creator_service.rb
+++ b/app/services/members/projects/creator_service.rb
@@ -4,7 +4,7 @@ module Members
   module Projects
     class CreatorService < Members::CreatorService
       def self.access_levels
-        Gitlab::Access.sym_options_with_owner
+        Gitlab::Access.sym_options
       end
 
       private
diff --git a/app/services/notification_recipients/builder/project_maintainers.rb b/app/services/notification_recipients/builder/project_maintainers.rb
index a295929a1a9608acc5b9c8a2f268e76269bb0dba..e8f22c00a833b2765432cdca2cc948f9026da7e0 100644
--- a/app/services/notification_recipients/builder/project_maintainers.rb
+++ b/app/services/notification_recipients/builder/project_maintainers.rb
@@ -14,7 +14,6 @@ def build!
         return [] unless project
 
         add_recipients(project.team.maintainers, :mention, nil)
-        add_recipients(project.team.owners, :mention, nil)
       end
 
       def acting_user
diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb
index ecae90e576decb27fae45efc7e76d71f0b72eddd..c885369dfecf202c995d109e2401b57c5f671e8a 100644
--- a/app/services/projects/create_service.rb
+++ b/app/services/projects/create_service.rb
@@ -147,11 +147,7 @@ def setup_authorizations
           priority: UserProjectAccessChangedService::LOW_PRIORITY
         )
       else
-        if ::Feature.enabled?(:personal_project_owner_with_owner_access, default_enabled: :yaml)
-          @project.add_owner(@project.namespace.owner, current_user: current_user)
-        else
-          @project.add_maintainer(@project.namespace.owner, current_user: current_user)
-        end
+        @project.add_maintainer(@project.namespace.owner, current_user: current_user)
       end
     end
 
diff --git a/config/feature_flags/development/personal_project_owner_with_owner_access.yml b/config/feature_flags/development/personal_project_owner_with_owner_access.yml
deleted file mode 100644
index a82521e88e531837e3098cdd83717842a81521d2..0000000000000000000000000000000000000000
--- a/config/feature_flags/development/personal_project_owner_with_owner_access.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: personal_project_owner_with_owner_access
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78193
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351919
-milestone: '14.8'
-type: development
-group: group::workspace
-default_enabled: false
diff --git a/doc/user/permissions.md b/doc/user/permissions.md
index 36c81f8ca9b323b43abb1f3852e0c0054bfd7b8e..a00ac13c87bdc08c6a6701003d2bd051678ed896 100644
--- a/doc/user/permissions.md
+++ b/doc/user/permissions.md
@@ -33,27 +33,14 @@ usernames. A GitLab administrator can configure the GitLab instance to
 
 ## Project members permissions
 
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/219299) in GitLab 14.8, personal namespace owners appear with Owner role in new projects in their namespace. Introduced [with a flag](../administration/feature_flags.md) named `personal_project_owner_with_owner_access`. Disabled by default.
-
-FLAG:
-On self-managed GitLab, personal namespace owners appearing with the Owner role in new projects in their namespace is disabled. To make it available,
-ask an administrator to [enable the feature flag](../administration/feature_flags.md) named `personal_project_owner_with_owner_access`.
-The feature is not ready for production use.
-On GitLab.com, this feature is not available.
-
 A user's role determines what permissions they have on a project. The Owner role provides all permissions but is
 available only:
 
 - For group owners. The role is inherited for a group's projects.
 - For Administrators.
 
-Personal [namespace](group/index.md#namespaces) owners:
-
-- Are displayed as having the Maintainer role on projects in the namespace, but have the same permissions as a user with the Owner role.
-- (Disabled by default) In GitLab 14.8 and later, for new projects in the namespace, are displayed as having the Owner role.
-
-For more information about how to manage project members, see
-[members of a project](project/members/index.md).
+Personal namespace owners have the same permissions as an Owner, but are displayed with the Maintainer role on projects created in their personal namespace.
+For more information, see [projects members documentation](project/members/index.md).
 
 The following table lists project permissions available for each role:
 
diff --git a/lib/gitlab/access.rb b/lib/gitlab/access.rb
index d0b426aeb60c7106a6bd0cbb94b5ffab1d2b3355..3e09d488bc34cc957cf2825d67d64a6b497c8c02 100644
--- a/lib/gitlab/access.rb
+++ b/lib/gitlab/access.rb
@@ -33,13 +33,7 @@ module Access
     MAINTAINER_SUBGROUP_ACCESS = 1
 
     class << self
-      def values
-        if ::Feature.enabled?(:personal_project_owner_with_owner_access, default_enabled: :yaml)
-          options_with_owner.values
-        else
-          options.values
-        end
-      end
+      delegate :values, to: :options
 
       def all_values
         options_with_owner.values
diff --git a/lib/gitlab/project_authorizations.rb b/lib/gitlab/project_authorizations.rb
index 1d7b179baf05be15fe6da97bdacacf32c5f773b9..121626ced564b7ecf0516891635afc39319a8f63 100644
--- a/lib/gitlab/project_authorizations.rb
+++ b/lib/gitlab/project_authorizations.rb
@@ -22,7 +22,7 @@ def calculate
         user.projects_with_active_memberships.select_for_project_authorization,
 
         # The personal projects of the user.
-        user.personal_projects.select_project_owner_for_project_authorization,
+        user.personal_projects.select_as_maintainer_for_project_authorization,
 
         # Projects that belong directly to any of the groups the user has
         # access to.
diff --git a/spec/controllers/projects/project_members_controller_spec.rb b/spec/controllers/projects/project_members_controller_spec.rb
index d6af5976743675cf5a935f15c3dcec94c724bd0c..d8ef95cf11a46ba6f4a305c35aa0cee99ce10554 100644
--- a/spec/controllers/projects/project_members_controller_spec.rb
+++ b/spec/controllers/projects/project_members_controller_spec.rb
@@ -665,7 +665,7 @@
         sign_in(user)
       end
 
-      it 'creates a member' do
+      it 'does not create a member' do
         expect do
           post :create, params: {
                           user_ids: stranger.id,
@@ -673,9 +673,7 @@
                           access_level: Member::OWNER,
                           project_id: project
                         }
-        end.to change { project.members.count }.by(1)
-
-        expect(project.team_members).to include(user)
+        end.to change { project.members.count }.by(0)
       end
     end
 
diff --git a/spec/finders/projects/members/effective_access_level_finder_spec.rb b/spec/finders/projects/members/effective_access_level_finder_spec.rb
index 446b0f8f9a23c2676f2ea19603a99d68a3264da0..33fbb5aca3045f5403953e7c3dd2b03111233ebf 100644
--- a/spec/finders/projects/members/effective_access_level_finder_spec.rb
+++ b/spec/finders/projects/members/effective_access_level_finder_spec.rb
@@ -11,40 +11,21 @@
   context 'for a personal project' do
     let_it_be(:project) { create(:project) }
 
-    shared_examples_for 'includes access level of the owner of the project' do
-      context 'when personal_project_owner_with_owner_access feature flag is enabled' do
-        it 'includes access level of the owner of the project as Owner' do
-          expect(subject).to(
-            contain_exactly(
-              hash_including(
-                'user_id' => project.namespace.owner.id,
-                'access_level' => Gitlab::Access::OWNER
-              )
-            )
-          )
-        end
-      end
-
-      context 'when personal_project_owner_with_owner_access feature flag is disabled' do
-        before do
-          stub_feature_flags(personal_project_owner_with_owner_access: false)
-        end
-
-        it 'includes access level of the owner of the project as Maintainer' do
-          expect(subject).to(
-            contain_exactly(
-              hash_including(
-                'user_id' => project.namespace.owner.id,
-                'access_level' => Gitlab::Access::MAINTAINER
-              )
+    shared_examples_for 'includes access level of the owner of the project as Maintainer' do
+      it 'includes access level of the owner of the project as Maintainer' do
+        expect(subject).to(
+          contain_exactly(
+            hash_including(
+              'user_id' => project.namespace.owner.id,
+              'access_level' => Gitlab::Access::MAINTAINER
             )
           )
-        end
+        )
       end
     end
 
     context 'when the project owner is a member of the project' do
-      it_behaves_like 'includes access level of the owner of the project'
+      it_behaves_like 'includes access level of the owner of the project as Maintainer'
     end
 
     context 'when the project owner is not explicitly a member of the project' do
@@ -52,7 +33,7 @@
         project.members.find_by(user_id: project.namespace.owner.id).destroy!
       end
 
-      it_behaves_like 'includes access level of the owner of the project'
+      it_behaves_like 'includes access level of the owner of the project as Maintainer'
     end
   end
 
@@ -103,32 +84,17 @@
 
   context 'for a project within a group' do
     context 'project in a root group' do
-      context 'includes access levels of users who are direct members of the parent group' do
-        it 'when access level is developer' do
-          group_member = create(:group_member, :developer, source: group)
+      it 'includes access levels of users who are direct members of the parent group' do
+        group_member = create(:group_member, :developer, source: group)
 
-          expect(subject).to(
-            include(
-              hash_including(
-                'user_id' => group_member.user.id,
-                'access_level' => Gitlab::Access::DEVELOPER
-              )
-            )
-          )
-        end
-
-        it 'when access level is owner' do
-          group_member = create(:group_member, :owner, source: group)
-
-          expect(subject).to(
-            include(
-              hash_including(
-                'user_id' => group_member.user.id,
-                'access_level' => Gitlab::Access::OWNER
-              )
+        expect(subject).to(
+          include(
+            hash_including(
+              'user_id' => group_member.user.id,
+              'access_level' => Gitlab::Access::DEVELOPER
             )
           )
-        end
+        )
       end
     end
 
diff --git a/spec/lib/gitlab/project_authorizations_spec.rb b/spec/lib/gitlab/project_authorizations_spec.rb
index 8630762e06f886bb4c6f42e0f40df92566904a93..7852470196b02da429389911a59ef48ba88ebe87 100644
--- a/spec/lib/gitlab/project_authorizations_spec.rb
+++ b/spec/lib/gitlab/project_authorizations_spec.rb
@@ -34,28 +34,12 @@ def map_access_levels(rows)
         .to include(owned_project.id, other_project.id, group_project.id)
     end
 
-    context 'when personal_project_owner_with_owner_access feature flag is enabled' do
-      it 'includes the correct access levels' do
-        mapping = map_access_levels(authorizations)
-
-        expect(mapping[owned_project.id]).to eq(Gitlab::Access::OWNER)
-        expect(mapping[other_project.id]).to eq(Gitlab::Access::REPORTER)
-        expect(mapping[group_project.id]).to eq(Gitlab::Access::DEVELOPER)
-      end
-    end
-
-    context 'when personal_project_owner_with_owner_access feature flag is disabled' do
-      before do
-        stub_feature_flags(personal_project_owner_with_owner_access: false)
-      end
-
-      it 'includes the correct access levels' do
-        mapping = map_access_levels(authorizations)
+    it 'includes the correct access levels' do
+      mapping = map_access_levels(authorizations)
 
-        expect(mapping[owned_project.id]).to eq(Gitlab::Access::MAINTAINER)
-        expect(mapping[other_project.id]).to eq(Gitlab::Access::REPORTER)
-        expect(mapping[group_project.id]).to eq(Gitlab::Access::DEVELOPER)
-      end
+      expect(mapping[owned_project.id]).to eq(Gitlab::Access::MAINTAINER)
+      expect(mapping[other_project.id]).to eq(Gitlab::Access::REPORTER)
+      expect(mapping[group_project.id]).to eq(Gitlab::Access::DEVELOPER)
     end
   end
 
diff --git a/spec/models/project_team_spec.rb b/spec/models/project_team_spec.rb
index 5b11f9d828a675bca87853a28ae63ec93bf083c3..bfdebbc33df002741cee95a5a2f191837c343e46 100644
--- a/spec/models/project_team_spec.rb
+++ b/spec/models/project_team_spec.rb
@@ -225,7 +225,7 @@
     let_it_be(:maintainer) { create(:user) }
     let_it_be(:developer) { create(:user) }
     let_it_be(:guest) { create(:user) }
-    let_it_be(:project) { create(:project, group: create(:group)) }
+    let_it_be(:project) { create(:project, namespace: maintainer.namespace) }
     let_it_be(:access_levels) { [Gitlab::Access::DEVELOPER, Gitlab::Access::MAINTAINER] }
 
     subject(:members_with_access_levels) { project.team.members_with_access_levels(access_levels) }
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 6e7cccfccf65139b53b30da853b0e84ee513b10a..e4f25c79e536a0f07928e70100da2aa91f70b085 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -3717,7 +3717,7 @@
 
     context 'with min_access_level' do
       let!(:user) { create(:user) }
-      let!(:project) { create(:project, :private, group: create(:group)) }
+      let!(:project) { create(:project, :private, namespace: user.namespace) }
 
       before do
         project.add_developer(user)
diff --git a/spec/requests/api/members_spec.rb b/spec/requests/api/members_spec.rb
index 5c867b4580b479b7715821874e1a5c99a837c68c..6186a43f9928794bb6d75d5a99587feebe9dc427 100644
--- a/spec/requests/api/members_spec.rb
+++ b/spec/requests/api/members_spec.rb
@@ -675,30 +675,13 @@
     end
 
     context 'adding owner to project' do
-      context 'when personal_project_owner_with_owner_access feature flag is enabled' do
-        it 'returns created status' do
-          expect do
-            post api("/projects/#{project.id}/members", maintainer),
-                 params: { user_id: stranger.id, access_level: Member::OWNER }
-
-            expect(response).to have_gitlab_http_status(:created)
-          end.to change { project.members.count }.by(1)
-        end
-      end
-
-      context 'when personal_project_owner_with_owner_access feature flag is disabled' do
-        before do
-          stub_feature_flags(personal_project_owner_with_owner_access: false)
-        end
-
-        it 'returns created status' do
-          expect do
-            post api("/projects/#{project.id}/members", maintainer),
-                 params: { user_id: stranger.id, access_level: Member::OWNER }
+      it 'returns 403' do
+        expect do
+          post api("/projects/#{project.id}/members", maintainer),
+               params: { user_id: stranger.id, access_level: Member::OWNER }
 
-            expect(response).to have_gitlab_http_status(:bad_request)
-          end.not_to change { project.members.count }
-        end
+          expect(response).to have_gitlab_http_status(:bad_request)
+        end.not_to change { project.members.count }
       end
     end
 
diff --git a/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb b/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb
index 537d198638438f293bebd81ca9e0b9e59ef09aa3..c6b184bd0038c5f6812712d08c030be7f5a52536 100644
--- a/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb
+++ b/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb
@@ -40,7 +40,7 @@
         it 'is called' do
           ProjectAuthorization.delete_all
 
-          expect(callback).to receive(:call).with(project.id, Gitlab::Access::OWNER).once
+          expect(callback).to receive(:call).with(project.id, Gitlab::Access::MAINTAINER).once
 
           service.execute
         end
@@ -60,20 +60,20 @@
 
           to_be_removed = [project2.id]
           to_be_added = [
-            { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::OWNER }
+            { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::MAINTAINER }
           ]
 
           expect(service.execute).to eq([to_be_removed, to_be_added])
         end
 
         it 'finds duplicate entries that has to be removed' do
-          [Gitlab::Access::OWNER, Gitlab::Access::REPORTER].each do |access_level|
+          [Gitlab::Access::MAINTAINER, Gitlab::Access::REPORTER].each do |access_level|
             user.project_authorizations.create!(project: project, access_level: access_level)
           end
 
           to_be_removed = [project.id]
           to_be_added = [
-            { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::OWNER }
+            { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::MAINTAINER }
           ]
 
           expect(service.execute).to eq([to_be_removed, to_be_added])
@@ -85,7 +85,7 @@
 
           to_be_removed = [project.id]
           to_be_added = [
-            { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::OWNER }
+            { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::MAINTAINER }
           ]
 
           expect(service.execute).to eq([to_be_removed, to_be_added])
@@ -143,16 +143,16 @@
     end
 
     it 'sets the keys to the project IDs' do
-      expect(hash.keys).to match_array([project.id])
+      expect(hash.keys).to eq([project.id])
     end
 
     it 'sets the values to the access levels' do
-      expect(hash.values).to match_array([Gitlab::Access::OWNER])
+      expect(hash.values).to eq([Gitlab::Access::MAINTAINER])
     end
 
     context 'personal projects' do
       it 'includes the project with the right access level' do
-        expect(hash[project.id]).to eq(Gitlab::Access::OWNER)
+        expect(hash[project.id]).to eq(Gitlab::Access::MAINTAINER)
       end
     end
 
@@ -242,7 +242,7 @@
       value = hash.values[0]
 
       expect(value.project_id).to eq(project.id)
-      expect(value.access_level).to eq(Gitlab::Access::OWNER)
+      expect(value.access_level).to eq(Gitlab::Access::MAINTAINER)
     end
   end
 
@@ -267,7 +267,7 @@
       end
 
       it 'includes the access level for every row' do
-        expect(row.access_level).to eq(Gitlab::Access::OWNER)
+        expect(row.access_level).to eq(Gitlab::Access::MAINTAINER)
       end
     end
   end
@@ -283,7 +283,7 @@
       rows = service.fresh_authorizations.to_a
 
       expect(rows.length).to eq(1)
-      expect(rows.first.access_level).to eq(Gitlab::Access::OWNER)
+      expect(rows.first.access_level).to eq(Gitlab::Access::MAINTAINER)
     end
 
     context 'every returned row' do
@@ -294,7 +294,7 @@
       end
 
       it 'includes the access level' do
-        expect(row.access_level).to eq(Gitlab::Access::OWNER)
+        expect(row.access_level).to eq(Gitlab::Access::MAINTAINER)
       end
     end
   end
diff --git a/spec/services/members/projects/creator_service_spec.rb b/spec/services/members/projects/creator_service_spec.rb
index 7ba183759bc5c23e3b1604b25a6bae895bcf047c..c6917a21bcd847a0fd53af90bd54c47bb911c4c1 100644
--- a/spec/services/members/projects/creator_service_spec.rb
+++ b/spec/services/members/projects/creator_service_spec.rb
@@ -9,8 +9,8 @@
   end
 
   describe '.access_levels' do
-    it 'returns Gitlab::Access.sym_options_with_owner' do
-      expect(described_class.access_levels).to eq(Gitlab::Access.sym_options_with_owner)
+    it 'returns Gitlab::Access.sym_options' do
+      expect(described_class.access_levels).to eq(Gitlab::Access.sym_options)
     end
   end
 end
diff --git a/spec/services/notification_service_spec.rb b/spec/services/notification_service_spec.rb
index d12b70d403ae2042dc79e11a87b8022d10733aea..9cbc16f0c95484b21dfa5fab954258f6d75099c5 100644
--- a/spec/services/notification_service_spec.rb
+++ b/spec/services/notification_service_spec.rb
@@ -3312,7 +3312,7 @@ def create_pipeline(user, status)
       describe "##{sym}" do
         subject(:notify!) { notification.send(sym, domain) }
 
-        it 'emails current watching maintainers and owners' do
+        it 'emails current watching maintainers' do
           expect(Notify).to receive(:"#{sym}_email").at_least(:once).and_call_original
 
           notify!
@@ -3410,7 +3410,7 @@ def create_pipeline(user, status)
         reset_delivered_emails!
       end
 
-      it 'emails current watching maintainers and owners' do
+      it 'emails current watching maintainers' do
         notification.remote_mirror_update_failed(remote_mirror)
 
         should_only_email(u_maintainer1, u_maintainer2, u_owner)
diff --git a/spec/services/projects/create_service_spec.rb b/spec/services/projects/create_service_spec.rb
index 41c82ef6a2f06ab866b8f000773675dc4f6fb468..43a9d69f3bbb35723b0ce5b2f5dc2ecd69e30bd2 100644
--- a/spec/services/projects/create_service_spec.rb
+++ b/spec/services/projects/create_service_spec.rb
@@ -116,34 +116,14 @@
   end
 
   context 'user namespace' do
-    context 'when personal_project_owner_with_owner_access feature flag is enabled' do
-      it 'creates a project in user namespace' do
-        project = create_project(user, opts)
-
-        expect(project).to be_valid
-        expect(project.first_owner).to eq(user)
-        expect(project.team.maintainers).not_to include(user)
-        expect(project.team.owners).to contain_exactly(user)
-        expect(project.namespace).to eq(user.namespace)
-        expect(project.project_namespace).to be_in_sync_with_project(project)
-      end
-    end
-
-    context 'when personal_project_owner_with_owner_access feature flag is disabled' do
-      before do
-        stub_feature_flags(personal_project_owner_with_owner_access: false)
-      end
-
-      it 'creates a project in user namespace' do
-        project = create_project(user, opts)
+    it 'creates a project in user namespace' do
+      project = create_project(user, opts)
 
-        expect(project).to be_valid
-        expect(project.first_owner).to eq(user)
-        expect(project.team.maintainers).to contain_exactly(user)
-        expect(project.team.owners).to contain_exactly(user)
-        expect(project.namespace).to eq(user.namespace)
-        expect(project.project_namespace).to be_in_sync_with_project(project)
-      end
+      expect(project).to be_valid
+      expect(project.first_owner).to eq(user)
+      expect(project.team.maintainers).to include(user)
+      expect(project.namespace).to eq(user.namespace)
+      expect(project.project_namespace).to be_in_sync_with_project(project)
     end
   end
 
@@ -182,7 +162,7 @@
         expect(project).to be_persisted
         expect(project.owner).to eq(user)
         expect(project.first_owner).to eq(user)
-        expect(project.team.owners).to contain_exactly(user)
+        expect(project.team.maintainers).to contain_exactly(user)
         expect(project.namespace).to eq(user.namespace)
         expect(project.project_namespace).to be_in_sync_with_project(project)
       end
diff --git a/spec/services/users/refresh_authorized_projects_service_spec.rb b/spec/services/users/refresh_authorized_projects_service_spec.rb
index b8fd2455445e3a65983ae75c751853e393d769ef..a31902c7f166381c8dd33194409c90f0e27e1b78 100644
--- a/spec/services/users/refresh_authorized_projects_service_spec.rb
+++ b/spec/services/users/refresh_authorized_projects_service_spec.rb
@@ -52,7 +52,7 @@
         it 'is called' do
           ProjectAuthorization.delete_all
 
-          expect(callback).to receive(:call).with(project.id, Gitlab::Access::OWNER).once
+          expect(callback).to receive(:call).with(project.id, Gitlab::Access::MAINTAINER).once
 
           service.execute
         end
@@ -73,7 +73,7 @@
       to_be_removed = [project_authorization.project_id]
 
       to_be_added = [
-        { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::OWNER }
+        { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::MAINTAINER }
       ]
 
       expect(service).to receive(:update_authorizations)
@@ -83,14 +83,14 @@
     end
 
     it 'removes duplicate entries' do
-      [Gitlab::Access::OWNER, Gitlab::Access::REPORTER].each do |access_level|
+      [Gitlab::Access::MAINTAINER, Gitlab::Access::REPORTER].each do |access_level|
         user.project_authorizations.create!(project: project, access_level: access_level)
       end
 
       to_be_removed = [project.id]
 
       to_be_added = [
-        { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::OWNER }
+        { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::MAINTAINER }
       ]
       expect(service).to(
         receive(:update_authorizations)
@@ -103,7 +103,7 @@
       project_authorization = ProjectAuthorization.where(
         project_id: project.id,
         user_id: user.id,
-        access_level: Gitlab::Access::OWNER)
+        access_level: Gitlab::Access::MAINTAINER)
       expect(project_authorization).to exist
     end
 
@@ -116,7 +116,7 @@
       to_be_removed = [project_authorization.project_id]
 
       to_be_added = [
-        { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::OWNER }
+        { user_id: user.id, project_id: project.id, access_level: Gitlab::Access::MAINTAINER }
       ]
 
       expect(service).to receive(:update_authorizations)