--- system.module~      2006-01-24 13:27:29.000000000 -0500
+++ system.module       2006-02-12 20:37:18.000000000 -0500
@@ -516,9 +516,15 @@
  */
 function system_get_files_database(&$files, $type) {
   // Extract current files from database.
-  $result = db_query("SELECT name, type, status, throttle, schema_version FROM {system} WHERE type = '%s'", $type);
+  $result = db_query("SELECT filename, name, type, status, throttle, schema_version FROM {system} WHERE type = '%s'", $type);
   while ($file = db_fetch_object($result)) {
     if (isset($files[$file->name]) && is_object($files[$file->name])) {
+      // Update filename in table if file has moved
+      if ($file->filename != $files[$file->name]->filename) {
+       db_query("UPDATE {system} SET filename = '%s' WHERE name = '%s'", $files[$file->name]->filename, $file->name);
+       $file->filename = $files[$file->name]->filename;
+      }
+
       foreach ($file as $key => $value) {
         if (!isset($files[$file->name]) || !isset($files[$file->name]->$key)) {
           $files[$file->name]->$key = $value;
