diff --git a/lib/tzinfo/local_time.rb b/lib/tzinfo/local_time.rb
index <HASH>..<HASH> 100644
--- a/lib/tzinfo/local_time.rb
+++ b/lib/tzinfo/local_time.rb
@@ -75,7 +75,7 @@ module TZInfo
     def to_a
       if_period(super) do |p,a|
         a[8] = p.dst?
-        a[9] = p.abbreviation.to_s
+        a[9] = p.abbreviation
         a
       end
     end
@@ -99,7 +99,7 @@ module TZInfo
     #   no such period.
     def zone
       p = period
-      p ? p.abbreviation.to_s : super
+      p ? p.abbreviation : super
     end
 
     # An overridden version of `Time#to_datetime` that, if there is an
diff --git a/lib/tzinfo/localized.rb b/lib/tzinfo/localized.rb
index <HASH>..<HASH> 100644
--- a/lib/tzinfo/localized.rb
+++ b/lib/tzinfo/localized.rb
@@ -21,7 +21,7 @@ module TZInfo
       raise ArgumentError, 'format must be specified' unless format
 
       if_period do |p|
-        abbreviation = p.abbreviation.to_s.gsub(/%/, '%%')
+        abbreviation = p.abbreviation.gsub(/%/, '%%')
 
         format = format.gsub(/%(%*)Z/) do
           if $1.length.odd?
Remove a no longer needed to_s call on the abbreviation.