diff --git a/lib/puppet/util/tagging.rb b/lib/puppet/util/tagging.rb
index e06e13a..f753529 100644
--- a/lib/puppet/util/tagging.rb
+++ b/lib/puppet/util/tagging.rb
@@ -13,6 +13,7 @@ module Puppet::Util::Tagging
ary.collect { |tag| tag.to_s.downcase }.each do |tag|
fail(Puppet::ParseError, "Invalid tag %s" % tag.inspect) unless valid_tag?(tag)
qualified << tag if tag.include?("::")
+ tag = tag.intern if tag.is_a? String
@tags << tag unless @tags.include?(tag)
end