diff --git a/modules/node/node.install b/modules/node/node.install
index 76c2aec..ed11054 100644
--- a/modules/node/node.install
+++ b/modules/node/node.install
@@ -590,13 +590,25 @@ function node_update_7004() {
 /**
  * Add status/comment/promote and sticky columns to the {node_revision} table.
  */
-function node_update_7005() {
-  foreach (array('status', 'comment', 'promote', 'sticky') as $column) {
-    db_add_field('node_revision', $column, array(
-      'type' => 'int',
-      'not null' => TRUE,
-      'default' => 0,
-    ));
+function node_update_7005(&$sandbox) {
+  $sandbox['#finished'] = 0;
+
+  if (isset($sandbox['columns'])) {
+    $sandbox['columns'] = array('status', 'comment', 'promote', 'sticky');
+  }
+
+  $column = array_shift($sandbox['columns']);
+
+  // Add fields.
+  db_add_field('node_revision', $column, array(
+    'type' => 'int',
+    'not null' => TRUE,
+    'default' => 0,
+  ));
+
+  if (empty($sandbox['columns'])) {
+    // We're done.
+    $sandbox['#finished'] = 1;
   }
 }
 
