diff --git a/clone.module b/clone.module
index 29003dd..7258211 100644
--- a/clone.module
+++ b/clone.module
@@ -89,6 +89,42 @@ function clone_node_type($op, $type_obj) {
   }
 }
 
+/*
+ * Implementation of hook_block().
+ */
+function clone_block_info() {
+  $blocks['clone_node_form'] = array(
+    'info' => t('Clone Node Form'),
+    'cache' => DRUPAL_CACHE_PER_PAGE | DRUPAL_CACHE_PER_ROLE,
+  );
+  return $blocks;
+}
+
+/**
+ * Implements hook_block().
+ */
+function clone_block_view($delta = '') {
+  switch ($delta) {
+    case 'clone_node_form':
+      // Only show the clone node form when viewing the node.
+      $arg2 = arg(2);
+      if (arg(0) == 'node' && is_numeric(arg(1)) && (empty($arg2) || $arg2 = 'view')) {
+        $node = node_load(arg(1));
+        // Make sure we want to show the clone form.
+        if (clone_access_cloning($node)) {
+          module_load_include('inc', 'node', 'node.pages');
+          module_load_include('inc', 'clone', 'clone.pages');
+          $block = array(
+            'subject' => t('Clone'),
+            'content' => clone_node_prepopulate($node, FALSE),
+          );
+          return $block;
+        }
+      }
+    break;
+  }
+}
+
 /**
 * Implementation of hook_views_api.
 */
diff --git a/clone.pages.inc b/clone.pages.inc
index 4e8a213..d6fbe56 100644
--- a/clone.pages.inc
+++ b/clone.pages.inc
@@ -133,7 +133,7 @@ function clone_node_clone_menu_link($node) {
 /**
  *  Clones a node - prepopulate a node editing form
  */
-function clone_node_prepopulate($original_node) {
+function clone_node_prepopulate($original_node, $set_title = FALSE) {
   if (isset($original_node->nid)) {
     global $user;
 
@@ -156,7 +156,11 @@ function clone_node_prepopulate($original_node) {
       $node->title = t('Clone of !title', array('!title' => $node->title));
       // Add an extra property as a flag.
       $node->clone_from_original_nid = $original_node->nid;
-      drupal_set_title(check_plain($node->title));
+
+      // Check whether to update the title of the page.
+      if ($set_title) {
+        drupal_set_title(check_plain($node->title));
+      }
 
       if (variable_get('clone_reset_'. $node->type, FALSE)) {
         $node_options = variable_get('node_options_'. $node->type, array('status', 'promote'));
