diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 86e12660c2366a433cfd456d967d982e01fa14c3..7bac0a2b1c797d0fd5a4bd1795eaac62bfed4c97 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -412,11 +412,16 @@ class Projects::MergeRequestsController < Projects::ApplicationController
           project = environment.project
           deployment = environment.first_deployment_for(@merge_request.diff_head_commit)
 
+          stop_url =
+            if environment.stoppable? && can?(current_user, :create_deployment, environment)
+              stop_namespace_project_environment_path(project.namespace, project, environment)
+            end
+
           {
             id: environment.id,
             name: environment.name,
             url: namespace_project_environment_path(project.namespace, project, environment),
-            stop_url: (stop_namespace_project_environment_path(project.namespace, project, environment) if environment.stoppable?),
+            stop_url: stop_url,
             external_url: environment.external_url,
             external_url_formatted: environment.formatted_external_url,
             deployed_at: deployment.try(:created_at),
diff --git a/app/views/projects/environments/index.html.haml b/app/views/projects/environments/index.html.haml
index 705a1360ec5aefcccf9fd22b51faea5b5866e0e9..8f555afcf11d975bb4fd978493e86a4ffc705a98 100644
--- a/app/views/projects/environments/index.html.haml
+++ b/app/views/projects/environments/index.html.haml
@@ -23,7 +23,7 @@
           New environment
 
   .environments-container
-    - if @environments.blank?
+    - if @all_environments.blank?
       .blank-state.blank-state-no-icon
         %h2.blank-state-title
           You don't have any environments right now.
diff --git a/app/views/projects/environments/show.html.haml b/app/views/projects/environments/show.html.haml
index bf082a05c3965d8abc5f8d2a560619bd59d20e14..bcac73d3698985b012c64f4c97da3839a76824eb 100644
--- a/app/views/projects/environments/show.html.haml
+++ b/app/views/projects/environments/show.html.haml
@@ -3,7 +3,7 @@
 = render "projects/pipelines/head"
 
 %div{ class: container_class }
-  .top-area
+  .top-area.adjust
     .col-md-9
       %h3.page-title= @environment.name.capitalize
     .col-md-3
diff --git a/spec/features/merge_requests/widget_deployments_spec.rb b/spec/features/merge_requests/widget_deployments_spec.rb
index 0c8ee844b47c33c3e08853c36f0a296a3dcbc1e3..1be35b27d844c5e2998f606770b82d49a3148a18 100644
--- a/spec/features/merge_requests/widget_deployments_spec.rb
+++ b/spec/features/merge_requests/widget_deployments_spec.rb
@@ -9,9 +9,8 @@ feature 'Widget Deployments Header', feature: true, js: true do
     given(:merge_request) { create(:merge_request, :merged) }
     given(:environment) { create(:environment, project: project) }
     given(:role) { :developer }
-    given!(:deployment) do
-      create(:deployment, environment: environment, sha: project.commit('master').id)
-    end
+    given(:sha) { project.commit('master').id }
+    given!(:deployment) { create(:deployment, environment: environment, sha: sha) }
     given!(:manual) { }
 
     background do
@@ -31,7 +30,10 @@ feature 'Widget Deployments Header', feature: true, js: true do
       given(:pipeline) { create(:ci_pipeline, project: project) }
       given(:build) { create(:ci_build, pipeline: pipeline) }
       given(:manual) { create(:ci_build, :manual, pipeline: pipeline, name: 'close_app') }
-      given(:deployment) { create(:deployment, environment: environment, deployable: build, on_stop: 'close_app') }
+      given(:deployment) do
+        create(:deployment, environment: environment, ref: merge_request.target_branch,
+               sha: sha, deployable: build, on_stop: 'close_app')
+      end
 
       background do
         wait_for_ajax