diff --git a/app/models/board.rb b/app/models/board.rb
index 3240c4bede3f5b5cab9d61ebcc3c5a31e855a143..c56422914a944d05c4b0e568cfaff7fcbdb97865 100644
--- a/app/models/board.rb
+++ b/app/models/board.rb
@@ -4,4 +4,12 @@ class Board < ActiveRecord::Base
   has_many :lists, -> { order(:list_type, :position) }, dependent: :delete_all
 
   validates :project, presence: true
+
+  def backlog_list
+    lists.merge(List.backlog).take
+  end
+
+  def done_list
+    lists.merge(List.done).take
+  end
 end
diff --git a/spec/controllers/projects/boards/lists_controller_spec.rb b/spec/controllers/projects/boards/lists_controller_spec.rb
index d687dea3c3b34a29b538c918a85791eeecb4d247..709006a3601171c64491e6dc93b6ac2ea8e8baaa 100644
--- a/spec/controllers/projects/boards/lists_controller_spec.rb
+++ b/spec/controllers/projects/boards/lists_controller_spec.rb
@@ -20,10 +20,7 @@ describe Projects::Boards::ListsController do
     end
 
     it 'returns a list of board lists' do
-      board = project.create_board
-      create(:backlog_list, board: board)
       create(:list, board: board)
-      create(:done_list, board: board)
 
       read_board_list user: user
 
diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb
index fb84ba07d254c769b2d9f3b15952f64f9df0d184..e61b1fd9647354bf04b222bc1703d1e57b79ff66 100644
--- a/spec/factories/projects.rb
+++ b/spec/factories/projects.rb
@@ -106,6 +106,8 @@ FactoryGirl.define do
   factory :project_with_board, parent: :empty_project do
     after(:create) do |project|
       project.create_board
+      project.board.lists.create(list_type: :backlog)
+      project.board.lists.create(list_type: :done)
     end
   end
 end
diff --git a/spec/features/boards/boards_spec.rb b/spec/features/boards/boards_spec.rb
index 19941978c5f565c0291600d50ee5beed72dc84e6..4bb7bacb46f1b9bd7b48bc34b38872c93295083a 100644
--- a/spec/features/boards/boards_spec.rb
+++ b/spec/features/boards/boards_spec.rb
@@ -4,15 +4,11 @@ describe 'Issue Boards', feature: true, js: true do
   include WaitForAjax
   include WaitForVueResource
 
-  let(:project) { create(:empty_project, :public) }
+  let(:project) { create(:project_with_board, :public) }
   let(:user)    { create(:user) }
   let!(:user2)  { create(:user) }
 
   before do
-    project.create_board
-    project.board.lists.create(list_type: :backlog)
-    project.board.lists.create(list_type: :done)
-
     project.team << [user, :master]
     project.team << [user2, :master]
 
diff --git a/spec/services/boards/issues/list_service_spec.rb b/spec/services/boards/issues/list_service_spec.rb
index cf4c5f13635aa810e0e4972865656147e4190bff..e65da15aca87ac431d1570772673b03f49bc4b62 100644
--- a/spec/services/boards/issues/list_service_spec.rb
+++ b/spec/services/boards/issues/list_service_spec.rb
@@ -13,10 +13,10 @@ describe Boards::Issues::ListService, services: true do
     let(:p2) { create(:label, title: 'P2', project: project, priority: 2) }
     let(:p3) { create(:label, title: 'P3', project: project, priority: 3) }
 
-    let!(:backlog) { create(:backlog_list, board: board) }
+    let!(:backlog) { project.board.backlog_list }
     let!(:list1)   { create(:list, board: board, label: development, position: 0) }
     let!(:list2)   { create(:list, board: board, label: testing, position: 1) }
-    let!(:done)    { create(:done_list, board: board) }
+    let!(:done)    { project.board.done_list }
 
     let!(:opened_issue1) { create(:labeled_issue, project: project, labels: [bug]) }
     let!(:opened_issue2) { create(:labeled_issue, project: project, labels: [p2]) }
diff --git a/spec/services/boards/issues/move_service_spec.rb b/spec/services/boards/issues/move_service_spec.rb
index 0122159cab8066218a47a52673679a7401ee52bc..180f1b086311baa9594a45400d4da5a9ca44f9ba 100644
--- a/spec/services/boards/issues/move_service_spec.rb
+++ b/spec/services/boards/issues/move_service_spec.rb
@@ -10,10 +10,10 @@ describe Boards::Issues::MoveService, services: true do
     let(:development) { create(:label, project: project, name: 'Development') }
     let(:testing)  { create(:label, project: project, name: 'Testing') }
 
-    let!(:backlog) { create(:backlog_list, board: board) }
+    let!(:backlog) { project.board.backlog_list }
     let!(:list1)   { create(:list, board: board, label: development, position: 0) }
     let!(:list2)   { create(:list, board: board, label: testing, position: 1) }
-    let!(:done)    { create(:done_list, board: board) }
+    let!(:done)    { project.board.done_list }
 
     before do
       project.team << [user, :developer]
diff --git a/spec/services/boards/lists/create_service_spec.rb b/spec/services/boards/lists/create_service_spec.rb
index 90764b86b16edf2ee5fc1d9dbea3a7f92d21caa3..bff9c1fd1fe246d37b25bc4398209aed5f3bb845 100644
--- a/spec/services/boards/lists/create_service_spec.rb
+++ b/spec/services/boards/lists/create_service_spec.rb
@@ -17,17 +17,15 @@ describe Boards::Lists::CreateService, services: true do
       end
     end
 
-    context 'when board lists has only a backlog list' do
+    context 'when board lists has backlog, and done lists' do
       it 'creates a new list at beginning of the list' do
-        create(:backlog_list, board: board)
-
         list = service.execute
 
         expect(list.position).to eq 0
       end
     end
 
-    context 'when board lists has only labels lists' do
+    context 'when board lists has labels lists' do
       it 'creates a new list at end of the lists' do
         create(:list, board: board, position: 0)
         create(:list, board: board, position: 1)
@@ -40,8 +38,6 @@ describe Boards::Lists::CreateService, services: true do
 
     context 'when board lists has backlog, label and done lists' do
       it 'creates a new list at end of the label lists' do
-        create(:backlog_list, board: board)
-        create(:done_list, board: board)
         list1 = create(:list, board: board, position: 0)
 
         list2 = service.execute
diff --git a/spec/services/boards/lists/destroy_service_spec.rb b/spec/services/boards/lists/destroy_service_spec.rb
index 6eff445feeef6353afcb91d0327e605541a79842..474c45124715458a350391f29d750fc4b7946f2a 100644
--- a/spec/services/boards/lists/destroy_service_spec.rb
+++ b/spec/services/boards/lists/destroy_service_spec.rb
@@ -15,11 +15,11 @@ describe Boards::Lists::DestroyService, services: true do
       end
 
       it 'decrements position of higher lists' do
-        backlog     = create(:backlog_list, board: board)
+        backlog     = project.board.backlog_list
         development = create(:list, board: board, position: 0)
         review      = create(:list, board: board, position: 1)
         staging     = create(:list, board: board, position: 2)
-        done        = create(:done_list, board: board)
+        done        = project.board.done_list
 
         described_class.new(project, user).execute(development)
 
@@ -31,14 +31,14 @@ describe Boards::Lists::DestroyService, services: true do
     end
 
     it 'does not remove list from board when list type is backlog' do
-      list = create(:backlog_list, board: board)
+      list = project.board.backlog_list
       service = described_class.new(project, user)
 
       expect { service.execute(list) }.not_to change(board.lists, :count)
     end
 
     it 'does not remove list from board when list type is done' do
-      list = create(:done_list, board: board)
+      list = project.board.done_list
       service = described_class.new(project, user)
 
       expect { service.execute(list) }.not_to change(board.lists, :count)
diff --git a/spec/services/boards/lists/move_service_spec.rb b/spec/services/boards/lists/move_service_spec.rb
index 3e9b7d07fc68464e939b766353b00af1c1be029d..102ed67449de0f87f4d12c8fd87efbfc7c3963c7 100644
--- a/spec/services/boards/lists/move_service_spec.rb
+++ b/spec/services/boards/lists/move_service_spec.rb
@@ -6,12 +6,12 @@ describe Boards::Lists::MoveService, services: true do
     let(:board)   { project.board }
     let(:user)    { create(:user) }
 
-    let!(:backlog)     { create(:backlog_list, board: board) }
+    let!(:backlog)     { project.board.backlog_list }
     let!(:planning)    { create(:list, board: board, position: 0) }
     let!(:development) { create(:list, board: board, position: 1) }
     let!(:review)      { create(:list, board: board, position: 2) }
     let!(:staging)     { create(:list, board: board, position: 3) }
-    let!(:done)        { create(:done_list, board: board) }
+    let!(:done)        { project.board.done_list }
 
     context 'when list type is set to label' do
       it 'keeps position of lists when new position is nil' do