diff --git a/lib/puppet/interface/option_builder.rb b/lib/puppet/interface/option_builder.rb
index <HASH>..<HASH> 100644
--- a/lib/puppet/interface/option_builder.rb
+++ b/lib/puppet/interface/option_builder.rb
@@ -19,7 +19,7 @@ class Puppet::Interface::OptionBuilder
   Puppet::Interface::Option.instance_methods.grep(/=$/).each do |setter|
     next if setter =~ /^=/      # special case, darn it...
 
-    dsl = setter.sub(/=$/, '')
+    dsl = setter.to_s.sub(/=$/, '')
     define_method(dsl) do |value| @option.send(setter, value) end
   end
 end
(#<I>) Fix string method sub call on a symbol for Ruby <I>

Ruby <I> is less forgiving about treating symbols like strings.