diff --git a/core/modules/node/node.pages.inc b/core/modules/node/node.pages.inc
index 8518383..51b316b 100644
--- a/core/modules/node/node.pages.inc
+++ b/core/modules/node/node.pages.inc
@@ -114,17 +114,20 @@ function node_add($node_type) {
 function node_preview(NodeInterface $node) {
   if (node_access('create', $node) || node_access('update', $node)) {
 
-    $node->changed = REQUEST_TIME;
+    // Clone the node before previewing it to prevent the node itself from being
+    // modified.
+    $cloned_node = clone $node;
+
+    $cloned_node->changed = REQUEST_TIME;
 
     // Display a preview of the node.
     if (!form_get_errors()) {
-      $node->in_preview = TRUE;
+      $cloned_node->in_preview = TRUE;
       $node_preview = array(
         '#theme' => 'node_preview',
-        '#node' => $node,
+        '#node' => $cloned_node,
       );
       $output = drupal_render($node_preview);
-      unset($node->in_preview);
     }
 
     return $output;
