diff --git a/modules/poll/poll.module b/modules/poll/poll.module
index 861969573df542ef4fa88ceffaa496a6ea7bbca9..01c6bcc801ecdb115b5c5849a77c8a5acab5a9f0 100644
--- a/modules/poll/poll.module
+++ b/modules/poll/poll.module
@@ -583,7 +583,10 @@ function poll_update($node) {
           'chvotes' => (int) $choice['chvotes'],
           'weight' => $choice['weight'],
         ))
-        ->insertFields(array('nid' => $node->nid))
+        ->insertFields(array(
+           'nid' => $node->nid,
+           'chtext' => $choice['chtext'],
+        ))
         ->execute();
     }
     else {
diff --git a/modules/poll/poll.test b/modules/poll/poll.test
index 6fabf956723f3345a7a2347d183c25e4b606f5b9..d6c4f4005ba5d4c0485458d50647a9439c7672da 100644
--- a/modules/poll/poll.test
+++ b/modules/poll/poll.test
@@ -188,7 +188,7 @@ class PollCreateTestCase extends PollTestCase {
   function testPollCreate() {
     $title = $this->randomName();
     $choices = $this->_generateChoices(7);
-    $this->pollCreate($title, $choices, TRUE);
+    $poll_nid = $this->pollCreate($title, $choices, TRUE);
 
     // Verify poll appears on 'poll' page.
     $this->drupalGet('poll');
@@ -198,6 +198,25 @@ class PollCreateTestCase extends PollTestCase {
     // Click on the poll title to go to node page.
     $this->clickLink($title);
     $this->assertText('Total votes: 0', 'Link to poll correct.');
+
+    // Now add a new option to make sure that when we update the node the
+    // option is displayed.
+    $node = node_load($poll_nid);
+
+    $new_option = $this->randomName();
+
+    $node->choice[] = array(
+      'chid' => '',
+      'chtext' => $new_option,
+      'chvotes' => 0,
+      'weight' => 0,
+    );
+
+    node_save($node);
+
+    $this->drupalGet('poll');
+    $this->clickLink($title);
+    $this->assertText($new_option, 'New option found.');
   }
 
   function testPollClose() {