diff --git a/app/assets/javascripts/merge_requests.js b/app/assets/javascripts/merge_requests.js
index eba9c9cab43192ee7d52800e01b2c67734c32e3b..132a05739d9e221defefdea2ca4b2f597d9ad495 100644
--- a/app/assets/javascripts/merge_requests.js
+++ b/app/assets/javascripts/merge_requests.js
@@ -7,7 +7,7 @@ var MergeRequest = {
     function(opts) {
       this.opts = opts;
 
-      if($(".automerge_widget").lenght){
+      if($(".automerge_widget").length){
         $.get(opts.url_to_automerge_check, function(data){
           $(".automerge_widget").hide();
           $(".automerge_widget." + data.state).show();
@@ -48,5 +48,11 @@ var MergeRequest = {
           $('.status').removeClass("loading");
         },
         dataType: "script"});
+    },
+
+  already_cannot_be_merged:
+    function(){
+        $(".automerge_widget").hide();
+        $(".automerge_widget.already_cannot_be_merged").show();
     }
 }
diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb
index 18ad578fc831c8c0566ed6c70f0d71010dc00b3f..1077cef718de97311d09c33b2dfb7f0848c44f07 100644
--- a/app/controllers/merge_requests_controller.rb
+++ b/app/controllers/merge_requests_controller.rb
@@ -104,9 +104,13 @@ class MergeRequestsController < ApplicationController
   end
 
   def automerge
-    render_404 unless @merge_request.open? && @merge_request.can_be_merged?
     return access_denied! unless can?(current_user, :accept_mr, @project)
-    @merge_request.automerge!(current_user)
+    if @merge_request.open? && @merge_request.can_be_merged?
+      @merge_request.automerge!(current_user)
+      @status = true
+    else
+      @status = false
+    end
   end
 
   def destroy
diff --git a/app/views/merge_requests/automerge.js.haml b/app/views/merge_requests/automerge.js.haml
index 5827a518b511b73ec0ead0e6f76d368452e4289c..93e184455af7fe094c4f973ed01ed6ac708e8829 100644
--- a/app/views/merge_requests/automerge.js.haml
+++ b/app/views/merge_requests/automerge.js.haml
@@ -1,2 +1,7 @@
-:plain
-  location.reload();
+-if @status
+  :plain
+    location.reload();
+-else
+  :plain
+    MergeRequest.already_cannot_be_merged()
+
diff --git a/app/views/merge_requests/show.html.haml b/app/views/merge_requests/show.html.haml
index aef74b8dce69088aa218b8ca390f938541027906..1b23e5b225f80ef23a6a285974589a366bb4c204 100644
--- a/app/views/merge_requests/show.html.haml
+++ b/app/views/merge_requests/show.html.haml
@@ -71,6 +71,11 @@
     .alert-message
       %p
         %strong Checking for ability to automatically merge… 
+  
+  .automerge_widget.already_cannot_be_merged{:style => "display:none"}
+    .alert-message
+      %p
+        %strong This merge request already can not be merged