diff --git a/modules/node.module b/modules/node.module
index 14d7ac80b1acc8c674c0be24a8cd6d451161b4df..e81eea65ae71221a8e1eba696d3dbd2cf794cc2b 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -1349,6 +1349,7 @@ function node_revision_revert($nid, $revision) {
     if ($node->vid) {
       $node->revision = 1;
       $node->log = t('Copy of the revision from %date.', array('%date' => theme('placeholder', format_date($node->revision_timestamp))));
+      $node->taxonomy = array_keys($node->taxonomy);
 
       node_save($node);
 
diff --git a/modules/node/node.module b/modules/node/node.module
index 14d7ac80b1acc8c674c0be24a8cd6d451161b4df..e81eea65ae71221a8e1eba696d3dbd2cf794cc2b 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1349,6 +1349,7 @@ function node_revision_revert($nid, $revision) {
     if ($node->vid) {
       $node->revision = 1;
       $node->log = t('Copy of the revision from %date.', array('%date' => theme('placeholder', format_date($node->revision_timestamp))));
+      $node->taxonomy = array_keys($node->taxonomy);
 
       node_save($node);