diff --git a/lib/gitlab/git/ref.rb b/lib/gitlab/git/ref.rb
index 98d88f996f88f76542df1150ea4ac673163d3b0d..372ce005b9458ffb5dc7deae57b497825afffab8 100644
--- a/lib/gitlab/git/ref.rb
+++ b/lib/gitlab/git/ref.rb
@@ -34,8 +34,7 @@ module Gitlab
       end
 
       def initialize(repository, name, target, derefenced_target)
-        encode! name
-        @name = name.gsub(/\Arefs\/(tags|heads)\//, '')
+        @name = Gitlab::Git.ref_name(name)
         @dereferenced_target = derefenced_target
         @target = if target.respond_to?(:oid)
                     target.oid