diff --git a/lib/puppet/util/autoload.rb b/lib/puppet/util/autoload.rb
index 69a80fa..89b241a 100644--- a/lib/puppet/util/autoload.rb+++ b/lib/puppet/util/autoload.rb
@@ -63,11+63,15 @@ classPuppet::Util::Autoloadunlessdefined?@wrap@wrap=trueend++@could_not_find= {}
end # Load a single plugin by name. We use 'load' here so we can reload a # given plugin.defload(name)+returnfalseifalready_missed?(name)
+
path = name.to_s+".rb"
eachdir do |dir|
@@ -87,12+91,21 @@ classPuppet::Util::Autoload
puts detail.backtraceendend-returnfalse+returncould_not_find(name)
endend+returncould_not_find(name)
+end++defcould_not_find(name)+@could_not_find[name.to_s] =truereturnfalseend+defalready_missed?(name)+@could_not_find.include?(name.to_s)
+end+ # Mark the named object as loaded. Note that this supports unqualified # queries, while we store the result as a qualified query in the class.defloaded(name, file)