diff --git a/app/controllers/projects/container_registry_controller.rb b/app/controllers/projects/container_registry_controller.rb
index 3648f8894a654b6b3ba08e45dae0d34a79d61e75..d1f4649720715948af5bdf97f986125ab56fd4b9 100644
--- a/app/controllers/projects/container_registry_controller.rb
+++ b/app/controllers/projects/container_registry_controller.rb
@@ -1,4 +1,5 @@
 class Projects::ContainerRegistryController < Projects::ApplicationController
+  before_action :verify_registry_enabled
   before_action :authorize_read_container_image!
   before_action :authorize_update_container_image!, only: [:destroy]
   layout 'project'
@@ -19,6 +20,10 @@ class Projects::ContainerRegistryController < Projects::ApplicationController
 
   private
 
+  def verify_registry_enabled
+    render_404 unless Gitlab.config.registry.enabled
+  end
+
   def container_registry_repository
     @container_registry_repository ||= project.container_registry_repository
   end
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index b6ba66bf3e57ca76b2e5c498d779ee7edbd9b960..a140bbc3c67e7d0320246ac577287dc24a2747cd 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -152,7 +152,7 @@ module ProjectsHelper
       nav_tabs << :builds
     end
 
-    if project.container_registry_repository_url.present? && can?(current_user, :read_container_image, project)
+    if Gitlab.config.registry.enabled && can?(current_user, :read_container_image, project)
       nav_tabs << :container_registry
     end