diff --git a/sshkey.module b/sshkey.module
index 5a0fe9e..3120891 100644
--- a/sshkey.module
+++ b/sshkey.module
@@ -323,7 +323,7 @@ function sshkey_save($key) {
 
     // Add a default name based on public key comment if available.
     if (isset($parsed['comment'])) {
-      $key->value = trim(substr($key->value, 0, -strlen($parsed['comment'])));
+      $key->value = $parsed['algorithm'] . ' ' . $parsed['key'];
       if (empty($key->title)) {
         $key->title = truncate_utf8($parsed['comment'], 128, TRUE);
       }
diff --git a/sshkey.pages.inc b/sshkey.pages.inc
index 844bebc..a4d5e3f 100644
--- a/sshkey.pages.inc
+++ b/sshkey.pages.inc
@@ -120,6 +120,7 @@ function sshkey_edit_form($form, $form_state, $entity_type, $entity_id, $key = N
     '#type' => 'textfield',
     '#title' => t('Title'),
     '#default_value' => $key->title,
+    '#description' => t("Leave the Title field blank to use your key's comment as the title."),
     '#maxlength' => 128,
   );
 
@@ -133,6 +134,7 @@ function sshkey_edit_form($form, $form_state, $entity_type, $entity_id, $key = N
     '#title' => t('Key'),
     '#default_value' => $key->value,
     '#rows' => 10,
+    '#description' => t("Comments are stripped from your SSH key when it is saved."),
     '#wysiwyg' => FALSE,
     '#required' => TRUE,
   );
