diff --git a/app/finders/personal_projects_finder.rb b/app/finders/personal_projects_finder.rb
index a01465a64d200f74300cefede1b822bc1b09589c..3ebc90432b03d5116cdd1bdd7576f945da42c2c7 100644
--- a/app/finders/personal_projects_finder.rb
+++ b/app/finders/personal_projects_finder.rb
@@ -22,7 +22,7 @@ def execute(current_user = nil)
 
     segments = all_projects(current_user)
 
-    find_union(segments, Project).with_namespace.order_updated_desc
+    find_union(segments, Project).with_namespace.sorted_by_activity
   end
 
   private
diff --git a/spec/features/users/user_browses_projects_on_user_page_spec.rb b/spec/features/users/user_browses_projects_on_user_page_spec.rb
index 039b1bbe5b1e10a0a9d665e071db4e4a862bf5c6..addf9bbdcb1dd9ebcebff3f837b177b61e4c33dc 100644
--- a/spec/features/users/user_browses_projects_on_user_page_spec.rb
+++ b/spec/features/users/user_browses_projects_on_user_page_spec.rb
@@ -42,8 +42,8 @@ def click_nav_link(name)
   end
 
   it 'paginates projects', :js do
-    project = create(:project, namespace: user.namespace, updated_at: 2.minutes.since)
-    project2 = create(:project, namespace: user.namespace, updated_at: 1.minute.since)
+    project = create(:project, namespace: user.namespace, last_activity_at: 2.minutes.since)
+    project2 = create(:project, namespace: user.namespace, last_activity_at: 1.minute.since)
     allow(Project).to receive(:default_per_page).and_return(1)
 
     sign_in(user)
diff --git a/spec/finders/personal_projects_finder_spec.rb b/spec/finders/personal_projects_finder_spec.rb
index af3b5bf894b44da84d576fba970d070274eb1286..92539529e97c01a1b1b854e03e1d8481efacb9ef 100644
--- a/spec/finders/personal_projects_finder_spec.rb
+++ b/spec/finders/personal_projects_finder_spec.rb
@@ -2,29 +2,29 @@
 
 require 'spec_helper'
 
-RSpec.describe PersonalProjectsFinder do
+RSpec.describe PersonalProjectsFinder, feature_category: :groups_and_projects do
   let_it_be(:source_user)     { create(:user) }
   let_it_be(:current_user)    { create(:user) }
   let_it_be(:admin)           { create(:admin) }
 
   let(:finder)                { described_class.new(source_user) }
-  let!(:public_project) do
-    create(:project, :public, namespace: source_user.namespace, updated_at: 1.hour.ago, path: 'pblc')
+  let_it_be(:public_project) do
+    create(:project, :public, namespace: source_user.namespace, last_activity_at: 1.year.ago, path: 'pblc')
   end
 
-  let!(:private_project_shared) do
-    create(:project, :private, namespace: source_user.namespace, updated_at: 3.hours.ago, path: 'mepmep')
+  let_it_be(:private_project_shared) do
+    create(:project, :private, namespace: source_user.namespace, last_activity_at: 2.hours.ago, path: 'mepmep')
   end
 
-  let!(:internal_project) do
-    create(:project, :internal, namespace: source_user.namespace, updated_at: 2.hours.ago, path: 'C')
+  let_it_be(:internal_project) do
+    create(:project, :internal, namespace: source_user.namespace, last_activity_at: 3.hours.ago, path: 'C')
   end
 
-  let!(:private_project_self) do
-    create(:project, :private, namespace: source_user.namespace, updated_at: 3.hours.ago, path: 'D')
+  let_it_be(:private_project_self) do
+    create(:project, :private, namespace: source_user.namespace, last_activity_at: 4.hours.ago, path: 'D')
   end
 
-  before do
+  before_all do
     private_project_shared.add_developer(current_user)
   end
 
@@ -38,7 +38,7 @@
     context 'normal user' do
       subject { finder.execute(current_user) }
 
-      it { is_expected.to match_array([public_project, internal_project, private_project_shared]) }
+      it { is_expected.to eq([private_project_shared, internal_project, public_project]) }
     end
 
     context 'external' do
@@ -48,13 +48,13 @@
         current_user.update!(external: true)
       end
 
-      it { is_expected.to match_array([public_project, private_project_shared]) }
+      it { is_expected.to eq([private_project_shared, public_project]) }
     end
 
     context 'and searching with an admin user', :enable_admin_mode do
       subject { finder.execute(admin) }
 
-      it { is_expected.to match_array([public_project, internal_project, private_project_self, private_project_shared]) }
+      it { is_expected.to eq([private_project_shared, internal_project, private_project_self, public_project]) }
     end
   end
 end