diff --git a/app/models/issue.rb b/app/models/issue.rb
index 45a8e43b03db03ffc59d185811c6d246c4d624ff..ed3d444511079811edd8aef56eb9052b4d15b0e0 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -65,4 +65,9 @@ class Issue < ActiveRecord::Base
   def reset_events_cache
     Event.reset_event_cache_for(self)
   end
+
+  # To allow polymorphism with MergeRequest.
+  def source_project
+    project
+  end
 end
diff --git a/app/views/projects/_issuable_form.html.haml b/app/views/projects/_issuable_form.html.haml
index 3f288814b51f27a8e6e153068cf205ff9fbeb675..0ae1fb3cabeb320936c08654454496959b883928 100644
--- a/app/views/projects/_issuable_form.html.haml
+++ b/app/views/projects/_issuable_form.html.haml
@@ -44,3 +44,20 @@
       Milestone
     .col-sm-10= f.select(:milestone_id, milestone_options(issuable),
         { include_blank: 'Select milestone' }, { class: 'select2' })
+.form-group
+  = f.label :label_ids, class: 'control-label' do
+    %i.icon-tag
+    Labels
+  .col-sm-10
+    = f.collection_select :label_ids, issuable.project.labels.all, :id, :name,
+        { selected: issuable.label_ids }, multiple: true, class: 'select2'
+.form-actions
+  - if issuable.new_record?
+    = f.submit "Submit new #{issuable.class.model_name.human.downcase}", class: 'btn btn-create'
+  - else
+    = f.submit 'Save changes', class: 'btn btn-save'
+  - if issuable.new_record?
+    - cancel_project = issuable.source_project
+  - else
+    - cancel_project = issuable.project
+  = link_to 'Cancel', [cancel_project, issuable], class: 'btn btn-cancel'
diff --git a/app/views/projects/issues/_form.html.haml b/app/views/projects/issues/_form.html.haml
index a4a6b0005c743f8a915a8b8f7e5f17a4e3b6291a..cfd1d02bb05721b5159e1c194024611dd1d4cf42 100644
--- a/app/views/projects/issues/_form.html.haml
+++ b/app/views/projects/issues/_form.html.haml
@@ -10,21 +10,6 @@
 
   = form_for [@project, @issue], html: { class: 'form-horizontal issue-form' } do |f|
     = render 'projects/issuable_form', f: f, issuable: @issue
-    .form-group
-      = f.label :label_ids, class: 'control-label' do
-        %i.icon-tag
-        Labels
-      .col-sm-10
-        = f.collection_select :label_ids, @project.labels.all, :id, :name, { selected: @issue.label_ids }, multiple: true, class: 'select2'
-
-    .form-actions
-      - if @issue.new_record?
-        = f.submit 'Submit new issue', class: "btn btn-create"
-      -else
-        = f.submit 'Save changes', class: "btn-save btn"
-
-      - cancel_path = @issue.new_record? ? project_issues_path(@project) : project_issue_path(@project, @issue)
-      = link_to "Cancel", cancel_path, class: 'btn btn-cancel'
 
 :javascript
   $('.assign-to-me-link').on('click', function(e){
diff --git a/app/views/projects/merge_requests/_form.html.haml b/app/views/projects/merge_requests/_form.html.haml
index 8ad47724fe7cbd995269ffcb4d9b4085c6f2f0d6..dafd7385f6eb57dd563e0d343c9644a189204cb4 100644
--- a/app/views/projects/merge_requests/_form.html.haml
+++ b/app/views/projects/merge_requests/_form.html.haml
@@ -8,27 +8,8 @@
           Please review the
           %strong #{link_to "guidelines for contribution", contribution_guide_url}
           to this repository.
-
   .merge-request-form-info
     = render 'projects/issuable_form', f: f, issuable: @merge_request
-    .form-group
-      = f.label :label_ids, class: 'control-label' do
-        %i.icon-tag
-        Labels
-      .col-sm-10
-        = f.collection_select :label_ids, @merge_request.target_project.labels.all, :id, :name, { selected: @merge_request.label_ids }, multiple: true, class: 'select2'
-
-  .form-actions
-    - if @merge_request.new_record?
-      = f.submit 'Submit merge request', class: "btn btn-create"
-    -else
-      = f.submit 'Save changes', class: "btn btn-save"
-    - if @merge_request.new_record?
-      = link_to project_merge_requests_path(@source_project), class: "btn btn-cancel" do
-        Cancel
-    - else
-      = link_to project_merge_request_path(@target_project, @merge_request), class: "btn btn-cancel" do
-        Cancel
 
 :javascript
   disableButtonIfEmptyField("#merge_request_title", ".btn-save");