diff --git a/CHANGELOG b/CHANGELOG
index 1acb9174df735720af2012f3cdbd9f04d41c7676..8faa120229bea20b2b6d76eddb106a33f39a7371 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -19,10 +19,13 @@ v 8.12.0 (unreleased)
 v 8.11.3 (unreleased)
   - Allow system info page to handle case where info is unavailable
 
-v 8.11.2 (unreleased)
+v 8.11.3 (unreleased)
+  - Label list shows all issues (opened or closed) with that label
+
+v 8.11.2
   - Show "Create Merge Request" widget for push events to fork projects on the source project
 
-v 8.11.1 (unreleased)
+v 8.11.1
   - Does not halt the GitHub import process when an error occurs
   - Fix file links on project page when default view is Files !5933
   - Change using size to use count and caching it for number of group members
diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb
index 435a8c6e6819849f6aa1bb3a38a434b42ac57deb..34efd09ed9f64362d4da4523ff3c4e44d8babb54 100644
--- a/app/services/boards/issues/list_service.rb
+++ b/app/services/boards/issues/list_service.rb
@@ -36,7 +36,12 @@ module Boards
       end
 
       def set_state
-        params[:state] = list.done? ? 'closed' : 'opened'
+        params[:state] =
+          case list.list_type.to_sym
+          when :backlog then 'opened'
+          when :done then 'closed'
+          else 'all'
+          end
       end
 
       def board_label_ids
diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md
index 9df9ed9c9da1d1eaa10d6715afc2ff6ef9bbdfdd..cac926b3e28fc055747881809ffb467e8198cf28 100644
--- a/doc/user/project/issue_board.md
+++ b/doc/user/project/issue_board.md
@@ -31,10 +31,9 @@ Below is a table of the definitions used for GitLab's Issue Board.
 There are three types of lists, the ones you create based on your labels, and
 two default:
 
-- **Backlog** (default): shows all issues that do not fall in one of the other
-  lists. Always appears on the very left.
-- **Done** (default): shows all closed issues. Always appears on the very right.
-- Label list: a list based on a label. It shows all issues with that label.
+- **Backlog** (default): shows all opened issues that do not fall in one of the other lists. Always appears on the very left.
+- **Done** (default): shows all closed issues that do not fall in one of the other lists. Always appears on the very right.
+- Label list: a list based on a label. It shows all opened or closed issues with that label.
 
 ![GitLab Issue Board](img/issue_board.png)
 
diff --git a/spec/services/boards/issues/list_service_spec.rb b/spec/services/boards/issues/list_service_spec.rb
index f7f45983d26e6a4490fde59d8aedfcb637f01d63..cf4c5f13635aa810e0e4972865656147e4190bff 100644
--- a/spec/services/boards/issues/list_service_spec.rb
+++ b/spec/services/boards/issues/list_service_spec.rb
@@ -30,7 +30,7 @@ describe Boards::Issues::ListService, services: true do
     let!(:closed_issue1) { create(:labeled_issue, :closed, project: project, labels: [bug]) }
     let!(:closed_issue2) { create(:labeled_issue, :closed, project: project, labels: [p3]) }
     let!(:closed_issue3) { create(:issue, :closed, project: project) }
-    let!(:closed_issue4) { create(:labeled_issue, :closed, project: project, labels: [p1]) }
+    let!(:closed_issue4) { create(:labeled_issue, :closed, project: project, labels: [p1, development]) }
 
     before do
       project.team << [user, :developer]
@@ -58,15 +58,15 @@ describe Boards::Issues::ListService, services: true do
 
         issues = described_class.new(project, user, params).execute
 
-        expect(issues).to eq [closed_issue4, closed_issue2, closed_issue3, closed_issue1]
+        expect(issues).to eq [closed_issue2, closed_issue3, closed_issue1]
       end
 
-      it 'returns opened issues that have label list applied when listing issues from a label list' do
+      it 'returns opened/closed issues that have label list applied when listing issues from a label list' do
         params = { id: list1.id }
 
         issues = described_class.new(project, user, params).execute
 
-        expect(issues).to eq [list1_issue3, list1_issue1, list1_issue2]
+        expect(issues).to eq [closed_issue4, list1_issue3, list1_issue1, list1_issue2]
       end
     end
   end