diff --git a/modules/poll/poll.module b/modules/poll/poll.module
index ec5452e..483f14e 100644
--- a/modules/poll/poll.module
+++ b/modules/poll/poll.module
@@ -584,6 +584,8 @@ function poll_update($node) {
         ->insertFields(array(
            'nid' => $node->nid,
            'chtext' => $choice['chtext'],
+           'weight' => $choice['weight'],
+           'chvotes' => (int) $choice['chvotes'],
         ))
         ->execute();
     }
diff --git a/modules/poll/poll.test b/modules/poll/poll.test
index 20a4678..865c44f 100644
--- a/modules/poll/poll.test
+++ b/modules/poll/poll.test
@@ -205,11 +205,12 @@ class PollCreateTestCase extends PollTestCase {
 
     $new_option = $this->randomName();
 
+    $vote_count = '2000';
     $node->choice[] = array(
       'chid' => '',
       'chtext' => $new_option,
-      'chvotes' => 0,
-      'weight' => 0,
+      'chvotes' => (int) $vote_count,
+      'weight' => 1000,
     );
 
     node_save($node);
@@ -217,6 +218,12 @@ class PollCreateTestCase extends PollTestCase {
     $this->drupalGet('poll');
     $this->clickLink($title);
     $this->assertText($new_option, 'New option found.');
+
+    $option = $this->xpath('//div[@id="node-1"]//div[@class="poll"]//div[@class="text"]');
+    $this->assertEqual(end($option), $new_option, 'Last item is equal to new item.');
+
+    $votes = $this->xpath('//div[@id="node-1"]//div[@class="poll"]//div[@class="percent"]');
+    $this->assertTrue(strpos(end($votes), $vote_count) > 0, t("Votes saved."));
   }
 
   function testPollClose() {
