diff --git a/workbench_moderation.module b/workbench_moderation.module
index 3370981..faf8eee 100644
--- a/workbench_moderation.module
+++ b/workbench_moderation.module
@@ -1568,6 +1568,24 @@ function workbench_moderation_store($node) {
   $taxonomy_index_flag = &drupal_static('taxonomy_field_update', array());
   unset($taxonomy_index_flag[$node->nid]);
 
+  // Make sure $live_revision has menu information if it's supposed to,
+  // so that workbench_moderation won't wrongly unassign it from its section.
+  if (!isset($live_revision->menu) && module_exists('menu')) {
+    if (!isset($node->menu)) {
+      menu_node_prepare($node);
+      if (!empty($node->menu)) {
+	// menu_node_prepare() expects FAPI to mark the link enabled.
+        // If it's not marked enabled, when we execute node_save(),
+        // menu_node_save() would delete it. Avoid this:
+        $node->menu['enabled'] = empty($node->menu['mlid']) ? 0 : 1;
+      }
+    }
+
+    if (!empty($node->menu)) {
+      $live_revision->menu = $node->menu;
+    }
+  }
+
   // Save the node.
   node_save($live_revision);
 }
