diff --git a/nodewords_extra/nodewords_extra.module b/nodewords_extra/nodewords_extra.module
index 33f357f..78fcfa7 100644
--- a/nodewords_extra/nodewords_extra.module
+++ b/nodewords_extra/nodewords_extra.module
@@ -301,18 +301,61 @@ function nodewords_extra_dc_creator_form(&$form, $content, $options) {
 
     $form['dc.creator']['value']['#description'] .= '<br />' . t('The default is: %default', array('%default' => $default));
   }
+
+  // Optionally auto-assign the value.
+  if ($options['type'] == NODEWORDS_TYPE_DEFAULT || $options['type'] == NODEWORDS_TYPE_NODE) {
+    $form['dc.creator']['auto'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Automatically assign the node author\'s username'),
+      '#description' => t('Rather than manually filling in the value above, this will automatically assign the node author\'s username. This will be used if no name is manually filled in.'),
+      '#default_value' => empty($content['auto']) ? FALSE : TRUE,
+    );
+
+    // Show the current default.
+    if ($options['type'] != NODEWORDS_TYPE_DEFAULT) {
+      // Load the current default.
+      if (!empty($options['default']['dc.creator']['auto'])) {
+        $default = t('Yes');
+      }
+      else {
+        $default = t('No');
+      }
+
+      $form['dc.creator']['auto']['#description'] .= '<br />' . t('The default is: %default', array('%default' => $default));
+    }
+  }
 }
 
 /**
  * Set the meta tag content.
  */
 function nodewords_extra_dc_creator_prepare(&$tags, $content, $options) {
+  $auto = FALSE;
+
+  // The manually assigned value.
   if (!empty($content['value'])) {
     $tags['dc.creator'] = $content['value'];
   }
+
+  // Optional automatic assignment of the node's author.
+  elseif ($options['type'] == NODEWORDS_TYPE_NODE && !empty($content['auto'])) {
+    $auto = TRUE;
+  }
+
+  // The site's manually-assigned default value.
   elseif (!empty($options['default']['dc.creator']['value'])) {
     $tags['dc.creator'] = $options['default']['dc.creator']['value'];
   }
+
+  // Optional automatic assignment of the node's author.
+  elseif ($options['type'] == NODEWORDS_TYPE_NODE && !empty($options['default']['dc.creator']['auto'])) {
+    $auto = TRUE;
+  }
+
+  if ($auto) {
+    $node = node_load($options['id']);
+    $tags['dc.creator'] = $node->name;
+  }
 }
 
 /**
