diff --git a/docs/commands.html b/docs/commands.html
index d8cf7df..84d99f6 100644
--- a/docs/commands.html
+++ b/docs/commands.html
@@ -40,6 +40,9 @@ Drush searches for commandfiles in the following locations:
 <li>The ".drush" folder in the user's HOME folder.
 
 <li>All modules in the current Drupal installation
+
+<li>Folders and files containing other versions of drush in their names will
+be *skipped* (e.g. drush4.devel.drush.inc or drush4/devel.drush.inc)</li>
 </ul> <p>
 Note that modules in the current Drupal installation will only
 be considered if drush has bootstrapped to at least the DRUSH_BOOSTRAP_SITE
diff --git a/includes/command.inc b/includes/command.inc
index bd5b34c..56c89e1 100644
--- a/includes/command.inc
+++ b/includes/command.inc
@@ -257,7 +257,7 @@ function _drush_verify_cli_options($command) {
     $implemented = drush_get_commands();
     foreach ($command['allow-additional-options'] as $subcommand_name) {
       if (array_key_exists($subcommand_name, $implemented)) {
-	$options = array_merge($options, _drush_get_command_options($implemented[$subcommand_name])); 
+	$options = array_merge($options, _drush_get_command_options($implemented[$subcommand_name]));
       }
     }
   }
@@ -1106,7 +1106,8 @@ function _drush_add_commandfiles($searchpath, $phase = NULL, $reset = FALSE) {
       // Scan for drush command files; add to list for consideration if found.
       foreach (array_unique($searchpath) as $path) {
         if (is_dir($path)) {
-          $files = drush_scan_directory($path, '/\.drush\.inc$/', array('.', '..', 'examples', 'tests', 'disabled', 'gitcache'));
+          $nomask = drush_filename_blacklist() + array('.', '..', 'examples', 'tests', 'disabled', 'gitcache');
+          $files = drush_scan_directory($path, '/\.drush\.inc$/', $nomask);
           foreach ($files as $filename => $info) {
             $module = basename($filename, '.drush.inc');
             // Only try to bootstrap modules that we have never seen before, or that we
@@ -1167,6 +1168,17 @@ function _drush_add_commandfiles($searchpath, $phase = NULL, $reset = FALSE) {
 }
 
 /**
+ * Substrings to ignore during commandfile searching.
+ */
+function drush_filename_blacklist() {
+  switch (substr(DRUSH_VERSION, 0, 1)) {
+    case 4: return array('drush5', 'drush6');
+    case 5: return array('drush4', 'drush6');
+    case 6: return array('drush4', 'drush5');
+  }
+}
+
+/**
  * Conditionally include files based on the command used.
  *
  * Steps through each of the currently loaded commandfiles and
