diff --git modules/taxonomy/taxonomy.install modules/taxonomy/taxonomy.install
index 4b5663f..15103ae 100644
--- modules/taxonomy/taxonomy.install
+++ modules/taxonomy/taxonomy.install
@@ -196,7 +196,6 @@ function taxonomy_schema() {
       'created' => array(
         'description' => 'The Unix timestamp when the node was created.',
         'type' => 'int',
-        'unsigned' => TRUE,
         'not null' => TRUE,
         'default'=> 0,
       ),
@@ -548,7 +547,7 @@ function taxonomy_update_7005(&$sandbox) {
   //   in this array but a term_node relationship exists mapping a
   //   term in voc id to node of that type, the relationship is
   //   assigned to the taxonomymyextra field which allows terms of all
-  //   vocabularies. 
+  //   vocabularies.
   // - cursor[values], cursor[deltas]: The contents of $values and
   //   $deltas at the end of the previous call to this function. These
   //   need to be preserved across calls because a single batch of
@@ -806,3 +805,16 @@ function taxonomy_update_7009() {
   ));
 }
 
+/**
+ * Change {taxonomy_index}.created to support signed int.
+*/
+function taxonomy_update_7010() {
+  db_change_field('taxonomy_index', 'created', 'created', array(
+    'description' => 'The Unix timestamp when the node was created.',
+    'type' => 'int',
+    'unsigned' => FALSE,
+    'not null' => TRUE,
+    'default'=> 0,
+  ));
+}
+
diff --git modules/taxonomy/taxonomy.test modules/taxonomy/taxonomy.test
index b31f789..8161922 100644
--- modules/taxonomy/taxonomy.test
+++ modules/taxonomy/taxonomy.test
@@ -380,6 +380,40 @@ class TaxonomyTermUnitTest extends TaxonomyWebTestCase {
 }
 
 /**
+ * Test for legacy node bug.
+ */
+class TaxonomyLegacyTestCase extends TaxonomyWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Test for legacy node bug.',
+      'description' => 'Posts an article with a taxonomy term and a date prior to 1970.',
+      'group' => 'Taxonomy',
+    );
+  }
+
+  function setUp() {
+    parent::setUp('taxonomy');
+    $this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'administer nodes', 'bypass node access'));
+    $this->drupalLogin($this->admin_user);
+  }
+
+  function testTaxonomyLegacyNode() {
+    // Posts an article with a taxonomy term and a date prior to 1970.
+    $langcode = LANGUAGE_NONE;
+    $edit = array();
+    $edit['title'] = $this->randomName();
+    $edit['date'] = '1969-01-01 00:00:00 -0500';
+    $edit["body[$langcode][0][value]"] = $this->randomName();
+    $edit["field_tags[$langcode]"] = $this->randomName();
+    $this->drupalPost('node/add/article', $edit, t('Save'));
+    // Checks that the node has been saved.
+    $node = $this->drupalGetNodeByTitle($edit['title']);
+    $this->assertEqual($node->created, strtotime($edit['date']), t('Legacy node was saved with the right date.'));
+  }
+}
+
+/**
  * Tests for taxonomy term functions.
  */
 class TaxonomyTermTestCase extends TaxonomyWebTestCase {
