diff --git a/app/controllers/concerns/issues_action.rb b/app/controllers/concerns/issues_action.rb
index 5b098628557d75a5fa57921629ba3514f2240568..ef8e74a46415c8b9aef43d23644839b72a2ed2dd 100644
--- a/app/controllers/concerns/issues_action.rb
+++ b/app/controllers/concerns/issues_action.rb
@@ -2,7 +2,7 @@ module IssuesAction
   extend ActiveSupport::Concern
 
   def issues
-    @issues = get_issues_collection
+    @issues = get_issues_collection.non_archived
     @issues = @issues.page(params[:page]).per(ApplicationController::PER_PAGE)
     @issues = @issues.preload(:author, :project)
 
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb
index e5f089fb8a0976a5e638e488c4df59c1f11b7814..286d6655861494e26576fe91cd51783a0c3833c2 100644
--- a/app/models/concerns/issuable.rb
+++ b/app/models/concerns/issuable.rb
@@ -38,6 +38,7 @@ module Issuable
 
     scope :join_project, -> { joins(:project) }
     scope :references_project, -> { references(:project) }
+    scope :non_archived, -> { join_project.merge(Project.non_archived) }
 
     delegate :name,
              :email,
diff --git a/app/models/project.rb b/app/models/project.rb
index 6f5d592755afbb6cd04ccc5483fa7714d9aa02d5..b9810c9cda4270b673389eda702c129e47cedb48 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -278,7 +278,7 @@ class Project < ActiveRecord::Base
     end
 
     def search_by_title(query)
-      where('projects.archived = ?', false).where('LOWER(projects.name) LIKE :query', query: "%#{query.downcase}%")
+      non_archived.where('LOWER(projects.name) LIKE :query', query: "%#{query.downcase}%")
     end
 
     def find_with_namespace(id)
diff --git a/features/groups.feature b/features/groups.feature
index 55fffb012ae2c413080f30cb29f0e43165f31a84..4f9c28f813c807f5349d3621d75f9b69f503e428 100644
--- a/features/groups.feature
+++ b/features/groups.feature
@@ -22,6 +22,12 @@ Feature: Groups
     When I visit group "Owned" issues page
     Then I should see issues from group "Owned" assigned to me
 
+  Scenario: I should not see issues from archived project in "Owned" group issues list
+    Given Group "Owned" has archived project
+    And the archived project have some issues
+    When I visit group "Owned" issues page
+    Then I should not see issues from the archived project
+
   Scenario: I should see group "Owned" merge requests list
     Given project from group "Owned" has merge requests assigned to me
     When I visit group "Owned" merge requests page
diff --git a/features/steps/groups.rb b/features/steps/groups.rb
index 1e2a78a6029fc718eff3fa1f8ac32eeed889b83e..b0ec402531bf63b0b4da0cebd4bfe8896fd762bd 100644
--- a/features/steps/groups.rb
+++ b/features/steps/groups.rb
@@ -44,6 +44,12 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
     end
   end
 
+  step 'I should not see issues from the archived project' do
+    @archived_project.issues.each do |issue|
+      expect(page).not_to have_content issue.title
+    end
+  end
+
   step 'I should see merge requests from group "Owned" assigned to me' do
     assigned_to_me(:merge_requests).each do |issue|
       expect(page).to have_content issue.title[0..80]
@@ -113,7 +119,7 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
 
   step 'Group "Owned" has archived project' do
     group = Group.find_by(name: 'Owned')
-    create(:project, namespace: group, archived: true, path: "archived-project")
+    @archived_project = create(:project, namespace: group, archived: true, path: "archived-project")
   end
 
   step 'I should see "archived" label' do
@@ -124,6 +130,13 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
     visit group_path(-1)
   end
 
+  step 'the archived project have some issues' do
+    create :issue,
+      project: @archived_project,
+      assignee: current_user,
+      author: current_user
+  end
+
   private
 
   def assigned_to_me(key)