diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index c544b86..0cf88d4 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -183,7 +183,7 @@
 
         # Option_pairs: list of (src_option, dst_option) tuples
 
-        src_cmd_obj = self.distribution.find_command_obj (src_cmd)
+        src_cmd_obj = self.distribution.get_command_obj (src_cmd)
         src_cmd_obj.ensure_ready ()
         for (src_option, dst_option) in option_pairs:
             if getattr (self, dst_option) is None:
@@ -192,11 +192,11 @@
 
 
     def find_peer (self, command, create=1):
-        """Wrapper around Distribution's 'find_command_obj()' method:
+        """Wrapper around Distribution's 'get_command_obj()' method:
            find (create if necessary and 'create' is true) the command
            object for 'command'.."""
 
-        cmd_obj = self.distribution.find_command_obj (command, create)
+        cmd_obj = self.distribution.get_command_obj (command, create)
         cmd_obj.ensure_ready ()
         return cmd_obj
 
diff --git a/Lib/distutils/command/bdist_dumb.py b/Lib/distutils/command/bdist_dumb.py
index 2de2bef..eaa1927 100644
--- a/Lib/distutils/command/bdist_dumb.py
+++ b/Lib/distutils/command/bdist_dumb.py
@@ -63,7 +63,7 @@
         # command object that has *not* been finalized, so we can set
         # options on it!  (The option we set, 'root', is so that we can do
         # a proper "fake install" using this install command object.)
-        install = self.distribution.find_command_obj('install')
+        install = self.distribution.get_command_obj('install')
         install.root = self.bdist_dir
 
         self.announce ("installing to %s" % self.bdist_dir)
