diff --git a/lib/puppet/provider/nameservice.rb b/lib/puppet/provider/nameservice.rb
index <HASH>..<HASH> 100644
--- a/lib/puppet/provider/nameservice.rb
+++ b/lib/puppet/provider/nameservice.rb
@@ -25,7 +25,8 @@ class Puppet::Provider::NameService < Puppet::Provider
     def instances
       objects = []
       begin
-        while ent = Puppet::Etc.send("get#{section}ent")
+        method = Puppet::Etc.method(:"get#{section}ent")
+        while ent = method.call
           objects << new(:name => ent.name, :canonical_name => ent.canonical_name, :ensure => :present)
         end
       ensure
(PUP-<I>) Speed up iteration by resolving method only once

foo