Index: includes/bootstrap.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v
retrieving revision 1.288
diff -u -p -r1.288 bootstrap.inc
--- includes/bootstrap.inc	1 Jul 2009 12:47:30 -0000	1.288
+++ includes/bootstrap.inc	5 Jul 2009 22:22:40 -0000
@@ -583,12 +583,20 @@ function drupal_get_filename($type, $nam
     // not established or the requested file is not found.
     $config = conf_path();
     $dir = (($type == 'theme_engine') ? 'themes/engines' : "${type}s");
-    $file = (($type == 'theme_engine') ? "$name.engine" : "$name.$type");
+    $file = (($type == 'theme_engine') ? "$name.engine" : "$name.info");
 
-    foreach (array("$config/$dir/$file", "$config/$dir/$name/$file", "$dir/$file", "$dir/$name/$file") as $file) {
-      if (file_exists($file)) {
-        $files[$type][$name] = $file;
-        break;
+    if (function_exists('drupal_system_listing')) {
+      $file_obj = array_pop(drupal_system_listing($file, $dir));
+      if (isset($file_obj->filename)) {
+        $files[$type][$name] = $file_obj->filename;
+      }
+    }
+    else {
+      foreach (array("$config/$dir/$file", "$config/$dir/$name/$file", "$dir/$file", "$dir/$name/$file") as $file) {
+        if (file_exists($file)) {
+          $files[$type][$name] = $file;
+          break;
+        }
       }
     }
   }
