diff --git a/app/assets/javascripts/merge_request_widget.js.coffee b/app/assets/javascripts/merge_request_widget.js.coffee
index 779f536d9f07455c104212b1eafa0bd8e44aedd0..31f5cb93a51c33fd172d3dd12fe24a5a15cdd0cb 100644
--- a/app/assets/javascripts/merge_request_widget.js.coffee
+++ b/app/assets/javascripts/merge_request_widget.js.coffee
@@ -57,6 +57,8 @@ class @MergeRequestWidget
   ciLabelForStatus: (status) ->
     if status is 'success'
       'passed'
+    else if status is 'success_with_warnings'
+      'passed with warnings'
     else
       status
 
@@ -116,7 +118,7 @@ class @MergeRequestWidget
   showCIStatus: (state) ->
     return if not state?
     $('.ci_widget').hide()
-    allowed_states = ["failed", "canceled", "running", "pending", "success", "skipped", "not_found"]
+    allowed_states = ["failed", "canceled", "running", "pending", "success", "success_with_warnings", "skipped", "not_found"]
     if state in allowed_states
       $('.ci_widget.ci-' + state).show()
       switch state
@@ -124,7 +126,7 @@ class @MergeRequestWidget
           @setMergeButtonClass('btn-danger')
         when "running"
           @setMergeButtonClass('btn-warning')
-        when "success"
+        when "success", "success_with_warnings"
           @setMergeButtonClass('btn-create')
     else
       $('.ci_widget.ci-error').show()
diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss
index fbff0c973553ac7b66bfee7af9432251eb62dcc2..909072db00683b946deca74b8e4f3862bc20fb5c 100644
--- a/app/assets/stylesheets/pages/merge_requests.scss
+++ b/app/assets/stylesheets/pages/merge_requests.scss
@@ -68,6 +68,14 @@
       color: $gl-success;
     }
 
+    &.ci-success_with_warnings {
+      color: $gl-success;
+
+      i {
+        color: $gl-warning;
+      }
+    }
+
     &.ci-skipped {
       background-color: #eee;
       color: #888;
diff --git a/app/assets/stylesheets/pages/status.scss b/app/assets/stylesheets/pages/status.scss
index c6b053150be4cc3c92ee33ba241349816b6bb26a..098ae32c04023e4de01dd379f979a0510b2c79ef 100644
--- a/app/assets/stylesheets/pages/status.scss
+++ b/app/assets/stylesheets/pages/status.scss
@@ -15,7 +15,8 @@
       border-color: $gl-danger;
     }
 
-    &.ci-success {
+    &.ci-success,
+    &.ci-success_with_warnings {
       color: $gl-success;
       border-color: $gl-success;
     }
@@ -49,9 +50,12 @@
   .ci-status-icon-failed {
     color: $gl-danger;
   }
-  .ci-status-icon-pending {
+
+  .ci-status-icon-pending,
+  .ci-status-icon-success_with_warning {
     color: $gl-warning;
   }
+  
   .ci-status-icon-running {
     color: $blue-normal;
   }
diff --git a/app/helpers/ci_status_helper.rb b/app/helpers/ci_status_helper.rb
index e6c99c9959e159ed78089c022ce869246f9b397c..c9217b846e70e18517b5975e788a664127ddd05d 100644
--- a/app/helpers/ci_status_helper.rb
+++ b/app/helpers/ci_status_helper.rb
@@ -17,6 +17,8 @@ module CiStatusHelper
   def ci_label_for_status(status)
     if status == 'success'
       'passed'
+    elsif status == 'success_with_warnings'
+      'passed with warnings'
     else
       status
     end
@@ -27,6 +29,8 @@ module CiStatusHelper
       case status
       when 'success'
         'check'
+      when 'success_with_warnings'
+        'exclamation-triangle'
       when 'failed'
         'close'
       when 'pending'
diff --git a/app/views/projects/merge_requests/widget/_heading.html.haml b/app/views/projects/merge_requests/widget/_heading.html.haml
index 489c632ae229fd77d72e37f92eb2226b207b84ee..6ef640bb6543d1446ca42b3d71b6543b9260aedf 100644
--- a/app/views/projects/merge_requests/widget/_heading.html.haml
+++ b/app/views/projects/merge_requests/widget/_heading.html.haml
@@ -1,6 +1,6 @@
 - if @pipeline
   .mr-widget-heading
-    - %w[success skipped canceled failed running pending].each do |status|
+    - %w[success success_with_warnings skipped canceled failed running pending].each do |status|
       .ci_widget{ class: "ci-#{status}", style: ("display:none" unless @pipeline.status == status) }
         = ci_icon_for_status(status)
         %span