diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb
index 9a9b562af028ab449617e684565b04fba90e3ef5..17c3b526c97fc80e36da3a971eabbf1b0dd862c9 100644
--- a/app/models/concerns/issuable.rb
+++ b/app/models/concerns/issuable.rb
@@ -145,16 +145,10 @@ module Issuable
     end
 
     def order_labels_priority(excluded_labels: [])
-      project_column =
-        case table_name
-        when Issue.table_name then "#{table_name}.project_id"
-        when MergeRequest.table_name then "#{table_name}.target_project_id"
-        end
-
       params = {
         target_type: name,
         target_column: "#{table_name}.id",
-        project_column: project_column,
+        project_column: "#{table_name}.#{project_foreign_key}",
         excluded_labels: excluded_labels
       }
 
diff --git a/app/models/issue.rb b/app/models/issue.rb
index f7ccce2924a7d5d544c0f2404bba889e5e0e28db..133a5993815134fcc92d9d8c6160f8d38c1cdfe7 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -138,6 +138,10 @@ class Issue < ActiveRecord::Base
     reference.to_i > 0 && reference.to_i <= Gitlab::Database::MAX_INT_VALUE
   end
 
+  def self.project_foreign_key
+    'project_id'
+  end
+
   def self.sort(method, excluded_labels: [])
     case method.to_s
     when 'due_date_asc' then order_due_date_asc
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index fedc35102ef572616f025ad4b5359b8ffd51f00f..0cc0b3c2a0e6467f487cbff1e52034970cdd7ac7 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -137,6 +137,10 @@ class MergeRequest < ActiveRecord::Base
     reference.to_i > 0 && reference.to_i <= Gitlab::Database::MAX_INT_VALUE
   end
 
+  def self.project_foreign_key
+    'target_project_id'
+  end
+
   # Returns all the merge requests from an ActiveRecord:Relation.
   #
   # This method uses a UNION as it usually operates on the result of