diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index 65c5489..0a1d0e8 100644
--- a/modules/forum/forum.module
+++ b/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/modules/forum/forum.test b/modules/forum/forum.test
index c7c3d9c..b876e62 100644
--- a/modules/forum/forum.test
+++ b/modules/forum/forum.test
@@ -190,6 +190,51 @@ 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);
+    $this->container = $this->editForumTaxonomy();
+    // Create forum container.
+    $this->container = $this->createForum('container');
+    // Create forum inside the forum container.
+    $this->forum = $this->createForum('forum', $this->container['tid']);
+
+    $this->drupalGet('forum');
+
+    // We create two forum topics.
+    $this->createForumTopic($this->forum);
+    $myTopic = $this->createForumTopic($this->forum);
+
+    // Verify the topic and post counts on the forum page.
+    $this->drupalGet('forum');
+
+    $num_topics = $this->get_topics_number($this->forum);
+    $this->assertEqual($num_topics, '2', t('Number of topics found.'));
+
+    $myTopic->status = 0;
+    node_save($myTopic);
+
+    // Verify the post count is not on the forum page.
+    $this->drupalGet('forum');
+
+    $num_topics = $this->get_topics_number($this->forum);
+    $this->assertEqual($num_topics, '1', t('Number of topics found.'));
+  }
+
+  /**
+   * Gets the topics count of a given forum.
+   */
+  function get_topics_number($forum) {
+    $forum_arg = array(':forum' => 'forum-list-' . $forum['tid']);
+    $xpath = $this->buildXPathQuery('//tr[@id=:forum]//td[@class="topics"]', $forum_arg);
+    $topics = $this->xpath($xpath);
+    $num_topics = (int)trim($topics[0]);
+    return $num_topics;
+  }
+
+  /**
    * Run admin tests on the admin user.
    *
    * @param object $user The logged in user.
