diff --git a/includes/registry.inc b/includes/registry.inc
index 9d4328e..3025dee 100644
--- a/includes/registry.inc
+++ b/includes/registry.inc
@@ -50,7 +50,10 @@ function _ctools_registry_files_alter(&$files, $indexed_modules) {
             $class = $plugin_definition[$class_key]['class'];
             // Use the filename if it's explicitly set, else follow the naming
             // conventions.
-            $filename = isset($plugin_definition[$class_key]['file']) ? $plugin_definition[$class_key]['file'] : $class . '.class.php';
+            $filename =
+	      isset($plugin_definition[$class_key]['file']) ? $plugin_definition[$class_key]['file'] :
+	      ( isset($plugin_definition['file']) ) ? $plugin_definition['file'] :
+	      $class . '.class.php';
             $base_path = isset($plugin_definition[$class_key]['path']) ? $plugin_definition[$class_key]['path'] : $plugin_definition['path'];
             $path = "$base_path/$filename";
           }
