diff --git l10n_update.project.inc l10n_update.project.inc
index 0ec9d69..55a456c 100644
--- l10n_update.project.inc
+++ l10n_update.project.inc
@@ -63,9 +63,38 @@ function l10n_update_build_projects() {
         $project->l10n_path = l10n_update_build_string($project, $server['update_url']);
       }
     }
+
     // Create / update project record
-    $update = empty($current[$name]) ? array() : array('name');
-    drupal_write_record('l10n_update_project', $project, $update);
+    $has_project = db_result(db_query(
+      "SELECT name FROM {l10n_update_project} WHERE name = '%s' AND project_type = '%s'",
+      $project->name, $project->project_type
+    ));
+
+    if ($has_project) {
+      db_query(
+        "UPDATE
+          {l10n_update_project}
+        SET
+          name = '%s', project_type = '%s', core = '%s', version = '%s',
+          l10n_server = '%s', l10n_path = '%s', status = %d
+        WHERE
+          name = '%s'",
+        $project->name, $project->project_type, $project->core, $project->version,
+        $project->l10n_server, $project->l10n_path, $project->status,
+        $project->name
+      );
+    } else {
+      db_query(
+        "INSERT INTO
+          {l10n_update_project}
+          (name, project_type, core, version, l10n_server, l10n_path, status)
+        VALUES
+          ('%s', '%s', '%s', '%s', '%s', '%s', %d)",
+        $project->name, $project->project_type, $project->core, $project->version,
+        $project->l10n_server, $project->l10n_path, $project->status
+      );
+    }
+
     $projects[$name] = $project;
   }
   return $projects;
