diff --git a/core/modules/forum/forum.module b/core/modules/forum/forum.module
index 65c5489..0a1d0e8 100644
--- a/core/modules/forum/forum.module
+++ b/core/modules/forum/forum.module
@@ -545,7 +545,7 @@ function forum_field_storage_pre_insert($entity_type, $entity, &$skip_fields) {
 function forum_field_storage_pre_update($entity_type, $entity, &$skip_fields) {
   $first_call = &drupal_static(__FUNCTION__, array());
 
-  if ($entity_type == 'node' && $entity->status && _forum_node_check_node_type($entity)) {
+  if ($entity_type == 'node' && _forum_node_check_node_type($entity)) {
     // We don't maintain data for old revisions, so clear all previous values
     // from the table. Since this hook runs once per field, per object, make
     // sure we only wipe values once.
diff --git a/core/modules/forum/forum.test b/core/modules/forum/forum.test
index c7c3d9c..028454c 100644
--- a/core/modules/forum/forum.test
+++ b/core/modules/forum/forum.test
@@ -37,6 +37,9 @@ class ForumTestCase extends DrupalWebTestCase {
       'administer menu',
       'administer taxonomy',
       'create forum content',
+      'edit own forum content',
+      'delete own forum content',
+      'administer nodes',
     ));
     $this->edit_any_topics_user = $this->drupalCreateUser(array(
       'access administration pages',
@@ -190,6 +193,48 @@ class ForumTestCase extends DrupalWebTestCase {
   }
 
   /**
+   * Tests that once a forum topic is unpublished, it doesn't appear on the topic lists anymore.
+   */
+  function testUnpublishTopic() {
+    // Login the user
+    $this->drupalLogin($this->admin_user);
+
+    // Create forum container.
+    $this->container = $this->editForumTaxonomy();
+    $this->container = $this->createForum('container');
+
+    // Create forum inside the forum container.
+    $this->forum = $this->createForum('forum', $this->container['tid']);
+    $forum_id = $this->forum['tid'];
+
+    // Create a forum topic.
+    $myTopic = $this->createForumTopic($this->forum, FALSE);
+    $this->assertResponse(200);
+
+    // Verify the topic is getting linked into the forum topics list.
+    $this->drupalGet("forum/$forum_id");
+    $this->assertResponse(200);
+    $this->assertLink($myTopic->title);
+    $this->assertLinkByHref("node/$myTopic->nid");
+
+    // Unpublish the topic
+    $edit = array();
+    $langcode = LANGUAGE_NONE;
+    $edit["title"] = $myTopic->title;
+    $edit["body[$langcode][0][value]"] = $this->randomName(256);
+    // Assume the topic is initially associated with $forum.
+    $edit["taxonomy_forums[$langcode]"] = $forum_id;
+    $edit["status"] = FALSE;
+    $this->drupalPost("node/$myTopic->nid/edit", $edit, t('Save'));
+
+    // Verify the topic is no longer getting linked into the forum topics list.
+    $this->drupalGet("forum/$forum_id");
+    $this->assertResponse(200);
+    $this->assertNoLink($myTopic->title);
+    $this->assertNoLinkByHref("node/$myTopic->nid");
+  }
+
+  /**
    * Run admin tests on the admin user.
    *
    * @param object $user The logged in user.
