diff --git a/chef/lib/chef/knife/bootstrap.rb b/chef/lib/chef/knife/bootstrap.rb
index <HASH>..<HASH> 100644
--- a/chef/lib/chef/knife/bootstrap.rb
+++ b/chef/lib/chef/knife/bootstrap.rb
@@ -120,13 +120,13 @@ class Chef
         :boolean => true,
         :default => true
 
-      Chef::Config[:knife][:hints] ||= Hash.new
       option :hint,
         :long => "--hint HINT_NAME[=HINT_FILE]",
         :description => "Specify Ohai Hint to be set on the bootstrap target.  Use multiple --hint options to specify multiple hints.",
         :proc => Proc.new { |h|
-        name, path = h.split("=")
-           Chef::Config[:knife][:hints][name] = path ? JSON.parse(::File.read(path)) : Hash.new  }
+          Chef::Config[:knife][:hints] ||= Hash.new
+          name, path = h.split("=")
+          Chef::Config[:knife][:hints][name] = path ? JSON.parse(::File.read(path)) : Hash.new  }
 
       def load_template(template=nil)
         # Are we bootstrapping using an already shipped template?
Ensure Chef::Config[:knife][:hints] in proc

Unit tests for the hint system can fail if the entire bootstrap class isn't
loaded because the creation of the hints attribute was outside of the block.