diff --git a/app/presenters/commit_presenter.rb b/app/presenters/commit_presenter.rb
index 2f50590190111394a6b513ce0cf8ac2c7e998ed1..2879326ff8aa3eac842d1b8cff3f5a9221984233 100644
--- a/app/presenters/commit_presenter.rb
+++ b/app/presenters/commit_presenter.rb
@@ -26,7 +26,7 @@ def any_pipelines?
   end
 
   def tags_for_display
-    commit.referenced_by&.map { |tag| tag.delete_prefix(Gitlab::Git::TAG_REF_PREFIX) }
+    commit.referenced_by&.map { |tag_name| Gitlab::Git.ref_name(tag_name) }
   end
 
   def signature_html
diff --git a/spec/controllers/projects/commits_controller_spec.rb b/spec/controllers/projects/commits_controller_spec.rb
index 55ad92c517cc46042417d6858de786e57d89196e..e05df1f1c63c4ed404fdf85c5e3fb12b2ba6eb4c 100644
--- a/spec/controllers/projects/commits_controller_spec.rb
+++ b/spec/controllers/projects/commits_controller_spec.rb
@@ -3,8 +3,9 @@
 require 'spec_helper'
 
 RSpec.describe Projects::CommitsController, feature_category: :source_code_management do
-  let(:project) { create(:project, :repository) }
-  let(:user) { create(:user) }
+  let_it_be(:project) { create(:project, :repository) }
+  let_it_be(:repository) { project.repository }
+  let_it_be(:user) { create(:user) }
 
   before do
     project.add_maintainer(user)
@@ -105,7 +106,22 @@
         expect_next_instance_of(CommitCollection) do |collection|
           expect(collection).to receive(:load_tags)
         end
+
         get :show, params: { namespace_id: project.namespace, project_id: project, id: 'master/README.md' }
+
+        expect(response).to have_gitlab_http_status(:ok)
+      end
+
+      context 'when tag has a non-ASCII encoding' do
+        before do
+          repository.add_tag(user, 'tést', 'master')
+        end
+
+        it 'does not raise an exception' do
+          get :show, params: { namespace_id: project.namespace, project_id: project, id: 'master' }
+
+          expect(response).to have_gitlab_http_status(:ok)
+        end
       end
 
       context 'when the show_tags_on_commits_view flag is disabled' do